COMPTEUR DE VISITES AVEC LOCALISATION EN PHP/FLASH
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009
-
20 mai 2008 à 22:38
Utilisateur anonyme -
4 janv. 2011 à 12:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 7 août 2009 à 13:16
Et j'ai aussi oublié pour la mise à jour du code ... Pas besoin d'extraire le fichier Compteur.fla ni Compteur.swd sauf si vous voulez modifier le code mais ils ne sont pas nécessaires pour le fonctionnement du swf ;)
Ca ne me semblait pas fort utile de le préciser ;)
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 7 août 2009 à 12:40
Oui, toujours sur flashkod ainsi que tout le réseau CS d'ailleur :)
Seulement, ca fait assez longtemps que j'ai plus fait de flash ...
Quand on charge un swf, on peut lui ajouter des paramètre comme en html ? (monswf.swf?a=10&b=ex)
Si oui, essaye de passer par là
tonydanza
Messages postés51Date d'inscriptionsamedi 14 juillet 2007StatutMembreDernière intervention 2 septembre 2009 6 août 2009 à 00:37
Bonjour XELECTROX !
toujour sur flashkod ?
j'ai retrouvé ce compteur que j'avais mis de coté puis finalement
oublié .... pas assez fort en flash
la j'ai voulu le loader dans un autre swf mais les infos du
geocompteur manquent, probleme de chemin apparement ...
une idée ?
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 20 juin 2009 à 21:46
Désormais la db de Maxmind fait +/- 50mb je pense. Il va falloir penser à la taille que ca prends :(
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 22 juin 2008 à 19:10
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 :)
tonydanza
Messages postés51Date d'inscriptionsamedi 14 juillet 2007StatutMembreDernière intervention 2 septembre 2009 22 juin 2008 à 18:35
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 ! :)
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 22 juin 2008 à 11:35
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.
tonydanza
Messages postés51Date d'inscriptionsamedi 14 juillet 2007StatutMembreDernière intervention 2 septembre 2009 22 juin 2008 à 01:59
il ne génére aucune page
bonsoir
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 22 juin 2008 à 01:29
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 ;)
tonydanza
Messages postés51Date d'inscriptionsamedi 14 juillet 2007StatutMembreDernière intervention 2 septembre 2009 22 juin 2008 à 01:24
Quel est la page générée par le script "data.php" ?
comment ça?
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 21 juin 2008 à 19:45
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" ?
tonydanza
Messages postés51Date d'inscriptionsamedi 14 juillet 2007StatutMembreDernière intervention 2 septembre 2009 21 juin 2008 à 18:21
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?
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 21 juin 2008 à 12:00
Quelle est la version de votre serveur mysql ?
tonydanza
Messages postés51Date d'inscriptionsamedi 14 juillet 2007StatutMembreDernière intervention 2 septembre 2009 21 juin 2008 à 00:43
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 ...
tonydanza
Messages postés51Date d'inscriptionsamedi 14 juillet 2007StatutMembreDernière intervention 2 septembre 2009 21 juin 2008 à 00:22
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
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 20 juin 2008 à 23:56
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 ... ;)
tonydanza
Messages postés51Date d'inscriptionsamedi 14 juillet 2007StatutMembreDernière intervention 2 septembre 2009 20 juin 2008 à 23:02
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?
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 23 mai 2008 à 18:46
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 ??
cs_spoonisback
Messages postés72Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 5 février 2010 23 mai 2008 à 09:23
Tu veux dire remplacer les simples quotes par des doubles ??
Je ne vois pas ce que cela changera...
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 22 mai 2008 à 19:51
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.
cs_spoonisback
Messages postés72Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 5 février 2010 22 mai 2008 à 16:22
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
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 21 mai 2008 à 17:45
ah oui oups excuse moi je crois que tu étais spoonisback, j'ai pas fais attention au pseudo xD
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 21 mai 2008 à 17:41
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
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 21 mai 2008 à 17: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();
?>
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 21 mai 2008 à 17:25
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..)
XelectroX
Messages postés209Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 novembre 2009 21 mai 2008 à 15:14
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 ?
cs_spoonisback
Messages postés72Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 5 février 2010 21 mai 2008 à 09:37
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
winwarrior
Messages postés654Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention10 février 20091 21 mai 2008 à 02:51
4 janv. 2011 à 12:55
4 janv. 2011 à 12:55
7 août 2009 à 13:16
Ca ne me semblait pas fort utile de le préciser ;)
7 août 2009 à 12:40
Seulement, ca fait assez longtemps que j'ai plus fait de flash ...
Quand on charge un swf, on peut lui ajouter des paramètre comme en html ? (monswf.swf?a=10&b=ex)
Si oui, essaye de passer par là
6 août 2009 à 00:37
toujour sur flashkod ?
j'ai retrouvé ce compteur que j'avais mis de coté puis finalement
oublié .... pas assez fort en flash
la j'ai voulu le loader dans un autre swf mais les infos du
geocompteur manquent, probleme de chemin apparement ...
une idée ?
20 juin 2009 à 21:46
22 juin 2008 à 19:10
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 :)
22 juin 2008 à 18:35
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 ! :)
22 juin 2008 à 11:35
22 juin 2008 à 01:59
bonsoir
22 juin 2008 à 01:29
(par ex : http://xgradio.o-n.fr/compteur/data.php)
Je regarderai ca demain ;)
22 juin 2008 à 01:24
comment ça?
21 juin 2008 à 19:45
Le compteur total ne se remet jamais à zéro.
Quel est la page générée par le script "data.php" ?
21 juin 2008 à 18:21
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?
21 juin 2008 à 12:00
21 juin 2008 à 00:43
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 ...
21 juin 2008 à 00:22
merci de m aider
20 juin 2008 à 23:56
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 ... ;)
20 juin 2008 à 23:02
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?
23 mai 2008 à 18:46
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 ??
23 mai 2008 à 09:23
Je ne vois pas ce que cela changera...
22 mai 2008 à 19:51
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.
22 mai 2008 à 16:22
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
21 mai 2008 à 17:45
21 mai 2008 à 17:41
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
21 mai 2008 à 17:34
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();
?>
21 mai 2008 à 17:25
21 mai 2008 à 15:14
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 ?
21 mai 2008 à 09:37
En fait il n'affiche rien sur le flash : www.phphelp.fr
21 mai 2008 à 02:51
20 mai 2008 à 22:38