Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMPTEUR DE VISITES AVEC LOCALISATION EN PHP/FLASH


Information sur la source

Catégorie :Divers Classé sous : Compteur, Flash, Xml, Localisation, Visites Niveau : Initié Date de création : 20/05/2008 Date de mise à jour : 23/06/2008 20:53:20 Vu / téléchargé: 7 316 / 380

Note :
Aucune note

Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Pour installer le compteur vous devez posséder :
- un hébergement php/mysql acceptant les fichiers d'au moins 30Mb avec 35Mb disponnibles !
- un client ftp pour transférer les fichiers !
- un utilitaire pour décompresser des fichiers zip et des fichiers GZip (7Zip, WinRAR, ou autre) !
- un éditeur texte (ou php) !

1) Télécharger les fichiers nécessaires
Les fichiers principaux : le zip de la source OU http://xgradio.olympe-network.com/goodies/compteur.zip
La base de données des pays de MaxMind(http://www.maxmind.com/app/geolitecountry) : http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
La base de données des villes de MaxMind(http://www.maxmind.com/app/geolitecity) : http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
PS : Les bases de données sont mises à jour tout les mois, je vous recommande donc de les retélécharger régulièrement

2) Décompresser tout ce que l'on a téléchargé
Le contenu de compteur.zip où vous voudrez que les fichiers principaux soient placés.
Le fichier GeoIP.dat contenu dans GeoIP.dat.gz et le fichier GeoLiteCity.dat contenu dans GeoLiteCity.dat.gz dans le dossier geoip/database

3) Configurer vos données de connexion à la base de données
Ouvrez le fichier "db.php" avec votre éditeur de texte et remplacez le contenu entre guillemets avec vos paramètres de connexion

4) Créer les tables dans la base de données MySQL
La table contenant le nombre de visites totales
Code:
CREATE TABLE `compteur_data` (`ip` VARCHAR( 15 ) NOT NULL ,UNIQUE (`ip` ) )

La table contenant les utilisateurs en ligne
Code:
CREATE TABLE `compteur_online` (`time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `ip` VARCHAR( 15 ) NOT NULL )

La table contenant le pays et la ville des visiteurs
Code:
CREATE TABLE `compteur_villes` (`codepays` VARCHAR( 2 ) NOT NULL, `ville` VARCHAR( 255 ) NOT NULL, `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP )

5) Ajouter le compteur sur les pages voulues
Ajouter le code suivant dans vos pages pour afficher le compteur en remplaçant "http://votresite.com/compteur/mini.php" (2x) par l'emplacement complet du fichier "mini.php" et "compteur/compteur.swf" (2x) par l'emplacement complet ou relatif du fichier "compteur.swf"
Code:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="185" height="220" id="Compteur" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="compteur/compteur.swf?mini=http://votresite.com/compteur/mini.php" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="compteur/compteur.swf?mini=http://votresite.com/compteur/mini.php" quality="high" bgcolor="#ffffff" width="185" height="220" name="Compteur" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

 

Conclusion

Idem sauf plus compréhensible : http://xgradio.olympe-network.com/?p=forum/viewtopic.php?t=6&h=1
Exemple en bas de la page : http://xgradio.olympe-network.com/?h=1
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

22 mai 2008 19:53:44 :
Remplacement de "ville" par "codepays" dans le code mysql Merci à spoonisback
23 juin 2008 20:53:21 :
Ajout des liens dans la conclusion

Commentaires et avis

signaler à un administrateur
Commentaire de XelectroX le 20/05/2008 22:38:30

Voir là : http://xgradio.olympe-network.com/forum/viewtopic.php?f=9&t=6 ;)

signaler à un administrateur
Commentaire de winwarrior le 21/05/2008 02:51:53

http://www.megaupload.com/fr/?d=RLGYP6SA < la db geolite city export?e en mysql si ?a interesse quelqu'un =) (~100mo une fois decompress?)

signaler à un administrateur
Commentaire de spoonisback le 21/05/2008 09:37:03

Je n'arrive pas à le faire fonctionner...je ne sais pas si je sui trop c.. ou si il y a un problème...
En fait il n'affiche rien sur le flash : www.phphelp.fr

signaler à un administrateur
Commentaire de XelectroX le 21/05/2008 15:14:38

Ton script data.php fait une erreur ...

Parse error: syntax error, unexpected ')', expecting '(' in /home.10.23/phphelp/www/compteur/data.php on line 93

Sur quelle version de php es-tu ?
As-tu modifié le code ? Ssi oui, veux-tu bien me passer ce qui se trouve à la ligne 93 ?

signaler à un administrateur
Commentaire de winwarrior le 21/05/2008 17:25:02

Le script est en php5, d'apres les headers http, phphelp.fr tourne sous php 4.4, pensez ? mettre ? jour! =) (? moins que ce soit un fake header mais bon..)

signaler à un administrateur
Commentaire de XelectroX le 21/05/2008 17:34:34

Ca doit être ça, je crois bien qu'il faudrait mettre à jour php ... :s
De plus, php4 est de moins en moins utilisé et pas mal de nouvelles fonctions se trouvent dans php5.
Sinon, il faudrait chercher comment on utilise (si c'est possible) les classes en php4

Je suppose que ca doit être un problème de classe mais j'en suis pas certain ...

Pour vérifier que ce n'est pas un fake header, tu peux faire :
<?php
phpinfo();
?>

signaler à un administrateur
Commentaire de winwarrior le 21/05/2008 17:41:36

non mais je parlais du serveur de phphelp.fr, je n'ai personnellement pas essaye cette source.
Les classes geoip sont en php5, ce n'est pas un bug, elles ont ete concues comme ca.
Au pire pour php4, tu telecharges les tables mysql (dans mon 1er post) tu les installe et et tu utilises la fonction mysql BETWEEN pour rechercher une ip dans la table, tu recuperes le locId, et tu recuperes la ville et le pays dans la 2eme table par rapport au locId

ps: c'est pas ma source, je reponds juste

signaler à un administrateur
Commentaire de XelectroX le 21/05/2008 17:45:04

ah oui oups excuse moi je crois que tu étais spoonisback, j'ai pas fais attention au pseudo xD

signaler à un administrateur
Commentaire de spoonisback le 22/05/2008 16:22:40

Re dslé de pas avoir répondu plus tot.
Pour la ligne 93 là voila : $geoip = Net_GeoIP::getInstance('geoip/database/GeoIP.dat', Net_GeoIP::STANDARD);
Je suis en PHP5   (Hebergement OVH)
ou puis i ly a une erreur dans votre création de base :
CREATE TABLE `compteur_villes` (`ville` VARCHAR( 2 ) NOT NULL, `ville` VARCHAR( 255 ) NOT NULL, `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP )
Il y a deux fois le champs "ville" j'ai  cherché et remplacé par celui indiqué ligne 114 ds data.php : codepays

signaler à un administrateur
Commentaire de XelectroX le 22/05/2008 19:51:31

ah oui, merci beaucoup, je corrige cela tout de suite ...
Par contre, pour l'erreur, je ne vois vraiment pas ce que ca pourrait être :(
Juste pour essayer, je ne sais pas si il y a une différence, tentez un peu de remplacer les apostrophes par des guillemets.

signaler à un administrateur
Commentaire de spoonisback le 23/05/2008 09:23:36

Tu veux dire remplacer les simples quotes par des doubles ??
Je ne vois pas ce que cela changera...

signaler à un administrateur
Commentaire de XelectroX le 23/05/2008 18:46:22

Oui ben en fait, moi non plus je ne vois pas ce que ca changerait mais c'était juste pour essayer.
Je suis vraiment désolé mais je ne vois pas ce qui se passe :(
Est-ce que quelqu'un a déjà eu le problème ou connais une solution ??

signaler à un administrateur
Commentaire de tonydanza le 20/06/2008 23:02:51

bonjour,
Je doit avoir un probleme avec les tables dans la bdd,
le compteur live ce reinitialise ainsi que les drapeaux:
ce qui donne un compteur de visites (en gros) et non de visiteurs... J ai remarqué que le 2 tables concernées indiquent:"Aucun index n'est défini" .Le probleme viens il de la? Si j' indique un index rein ne change,ou peut etre que je le fait mal...
pouvez vous me conseiller?

signaler à un administrateur
Commentaire de XelectroX le 20/06/2008 23:56:19

Bonjour,
Cela doit bien venir de l'index de la table 'compteur_data' qui à comme index un unique à la colonne 'ip'.
Voici la fin de la requete de création de la table : "... UNIQUE (`ip` ) ) " ou on voit la définition de l'index.
Pour recréer cet index, vous pouvez faire "ALTER TABLE `compteur_data` ADD UNIQUE (`ip`)".
En espérerant vous aider ... ;)

signaler à un administrateur
Commentaire de tonydanza le 21/06/2008 00:22:05

en fait cela refait la table compteur data,( j ai refait mais cela ne change rien) mais celle fonctionne se sont les 2 autres qui ne vont pas je crois...

merci de m aider

signaler à un administrateur
Commentaire de tonydanza le 21/06/2008 00:43:09

en fait quant je réactualise la page, a chaque fois, le compteur indique 1 personne en plus en ligne; Mais 1 visiteur.
cela donne TOTAL: 1
           EN LIGNE: 8   + les 8 memes drapeaux...
or il n y a que moi qui peux aller sur cette page.
J ai remarqué que une personne en ligne apparaissait automatiquementtoutes les 2 minutes environ, meme sans reactualiser la page ...

signaler à un administrateur
Commentaire de XelectroX le 21/06/2008 12:00:34

Quelle est la version de votre serveur mysql ?

signaler à un administrateur
Commentaire de tonydanza le 21/06/2008 18:21:17

c est la 5,

pouvez vous me dire quels sont les index a donner aux 2 dernieres table svp?
pour compteur_online j ai rajouté ("ip" en unique) et
a present j ai bien 1 seul visiteur online.
Et pour compteur_villes aussi "codes pays" en unique),
faut il declarer un index pour "ville" et "time"?
Si oui, en unique aussi?

ps: Le compteur total et il journalier ou a l année?

signaler à un administrateur
Commentaire de XelectroX le 21/06/2008 19:45:36

Les deux autres tables n'ont pas d'index. Le script devrait supprimer les données dépassées suivant une date autogénérée.
Le compteur total ne se remet jamais à zéro.
Quel est la page générée par le script "data.php" ?

signaler à un administrateur
Commentaire de tonydanza le 22/06/2008 01:24:18

Quel est la page générée par le script "data.php" ?

comment ça?

signaler à un administrateur
Commentaire de XelectroX le 22/06/2008 01:29:00

Ouvrez le lien http du fichier dans un explorateur web (internet explorer ou firefox)
(par ex : http://xgradio.o-n.fr/compteur/data.php)
Je regarderai ca demain ;)

signaler à un administrateur
Commentaire de tonydanza le 22/06/2008 01:59:44

il ne génére aucune page
bonsoir

signaler à un administrateur
Commentaire de XelectroX le 22/06/2008 11:35:17

Je viens de tester, firefox et safari n'affiche rien (il faut aller voir le code source de la page) mais internet explorer affiche l'xml sans problèmes.

signaler à un administrateur
Commentaire de tonydanza le 22/06/2008 18:35:18

exact le xml s'affiche sur IE.
J ai bossé dessus cette nuit et le compteur fonctionne.
Mais j ai du rajouter les 2 index dans les tables citées plus haut.Merci pour ton aide xelectrox je le teste encore
et te tiens au courant si problemes detectés.
Un compteur journalier est il prévu?
ps: xgradio c est sympat comme prog ! :)

signaler à un administrateur
Commentaire de XelectroX le 22/06/2008 19:10:33

Ok, j'attends pour savoir si ca fonctionne et si oui, pourriez vous me passer les index ? :)
Je n'ai pas encore prévu de compteur journalier mais celui-ci serait facile à modifier pour le rendre journalier.
Il faudrait rajouter une colonne 'time' à la table 'compteur_data' avec comme paramètres : TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
Rajouter une commande de nettoyage.
-> ($query = "DELETE FROM compteur_data WHERE `time` < '".date("Y-m-d", date("j") - (1))."'";)
Et aussi rajouter une commande lors de l'ajout.
-> ($query = "INSERT INTO `compteur_data` (`time`, `ip`)VALUES (NOW(), '".$ip."')";)

Et aussi merci pour le compliment :)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Compteur visites avec memorisation [ par must ] Salut,comment faire un compteur de visites qui pourrait reconnaitre le visiteur qui est deja venuJe m'explique:a la premiere visite le compteur s'incr Formulaire php vers XML [ par Adrien4 ] Bonjour, Suite &#224; un projet sur mon site, j'aurais besion d'un coup de pouce c&#244;t&#233; xml, ou je n'ai pas du tout de connaissances (j'exerce compteur de visites [ par choup ] voilà j'ai repéré sur ce site des compteurs de visite et je cherche celui qui serait le plus simple à mettre en place mais efficace quand même.S'il es livre d'or avec flash et xml [ par bryc2 ] J'ai à faire un livre d'or avec flash et xml,y'a t'il quelqu'un qui pourrait me donner des informations à ce sujet?merci d'avance!!! Compteur de visites avec Flash5 [ par must ] Salut,comment faire un compteur de visites avec flash5 et PHPSoit avec un fichier texte,ou base de donnéesCompteur qui ne doit s'incrémenter une seule Compteur de visites unique [ par must ] Salut comment faire un compteur de visites qui pourrait compter une seule fois la visite d'une page,c'est à dir si la personne reviens dix fois sur la flash+mysql+php+xml=2 galleries d'images et je bloque [ par sniperbe ] salut a tous,comment faire pour obtenir ceci svp ???&lt;?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?&gt;&lt;paquay&gt;&lt;travail photo= compteur visites [ par Maniaxman ] Salut, J'aimerais cr&#233;er un compteur de visites en php, mais qui utilise une base de donn&#233;e mysql. Quand je dis compteur de visites, c'est-& bombre de connectés, compteur de visites. [ par DMon ] Salut tout le monde!J'aimerais mettre sur mon site web, un compteur de visites, et le nombre de connect&#233;s sur le site, sans utiliser MySQL, et en XML + Menu flash + Variable PHP3 [ par pappolypheme ] Bonjour &#224; tous, mon site va dor&#233;navant avoir une traduction en fran&#231;ais et en anglais. Le probl&#232;me est que j'ai besoin de faire


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,66 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.