mouet44
Messages postés3Date d'inscriptionmercredi 13 juin 2007StatutMembreDernière intervention 2 avril 2009 27 juil. 2007 à 14:02
juste un truc. dans ton fichier install
supprimer la derniere virgule ;) ce qui donne ceci
CREATE TABLE compteur
(
ip CHAR(25) NOT NULL UNIQUE PRIMARY KEY,
date CHAR(10) NOT NULL
);
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 1 mai 2007 à 00:13
J'attends d'avoir du temps devant moi :)
cs_grobs
Messages postés25Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention 1 janvier 2009 1 mai 2007 à 00:12
Alors... Qu'est-ce que t'attends ?! :p
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 1 mai 2007 à 00:11
Il faudrait surtout que je refasse tout le code... Celui est trop vieux, obsolète et pas du tout optimisé :s
cs_grobs
Messages postés25Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention 1 janvier 2009 1 mai 2007 à 00:00
Toute petite chose de rien du tout :
change ça :
if($compteur '1' OR $compteur '0')
en ça :
if($compteur <= '0')
;)
amidulysse
Messages postés1Date d'inscriptionlundi 18 décembre 2006StatutMembreDernière intervention18 décembre 2006 18 déc. 2006 à 02:04
Je suis désolé mais ce code est fondamentalement erroné.
La réponse au query de Mysql (ligne 42) n'est pas une seule valeur de $ip mais toute la série d'adresses IP de la journée. Il faut comparer la nouvelle adresse IP à toute la série!
C'est étonnant que personne ne s'en soit aperçu!
Si je devais donner une note elle serait trés petite!
eon2
Messages postés8Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention31 août 2004 9 janv. 2005 à 07:47
Je voi pas comment on peut faire un compteur sans avoir accé à la base de donnée à cahque visiteur ?
(comme tu le dit kirua)
bonjovi51
Messages postés51Date d'inscriptionvendredi 24 janvier 2003StatutMembreDernière intervention14 décembre 2006 6 avril 2004 à 20:34
Super ce code, c'est tout ce dont j'avais besoin !!
Je vais te mettre un 10 puisque pour moi, ca suffit
Merci encore pour tus ces codes posés par tout le monde, c'est colle tout ca !!
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 8 déc. 2003 à 19:51
éclaircis ta pensée
pour l'instant ce que je comprends, c'est qu'il faut que la date soit la même que celle du dernier enregistrement, ben ça tu fais une requête mysql ordonnée en fonction de la date:
ORDER BY champ_date ASC (ou DESC)
ASC ascendant, DESC descendant = croissant / décroissant
cs_pyranhaz
Messages postés236Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention13 décembre 2004 8 déc. 2003 à 19:20
Le problème est que la valeur est inconnue...
L'anti-aspirateur bloque les ip en retanant la date...
il faut donc qu'il vide la table 'ban' where 'date' est différente de celle du ip qui vient d'être banni et ne garde que les ip bannis ayant la même date et effacera tout le monde dès que la date changera pour un nouvel ip banni, etc.
Merci !
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 8 déc. 2003 à 19:09
ben pour la commande SQL ça donne ça:
DELETE FROM table WHERE champ='valeur'
et donc en php tu as par exemple, pr la table $table, le champ $champ et la valeur $valeur:
$requete = "DELETE FROM $table WHERE $champ='$valeur'";
ce qui est important, c'est de ne pas oublier les ' ' autour de $valeur !!
cs_pyranhaz
Messages postés236Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention13 décembre 2004 8 déc. 2003 à 15:11
OK alors j'étais dans le champs en croyant que ça ferait l'affaire...
Je vais donc garder mon compteur cgi qui fait le travail...
Autre chose...
J'ai tenté d'adapter la partie du script qui vide la table dans mon script anti-aspirateur et il semble que cela n'efface rien du tout...
Seriez-vous disposé à m'aider à apporter les correctifs nécessaires svp ???
Merci !
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 8 déc. 2003 à 08:05
et puis si tu emts un enregistrement ds ta table pr chaque visiteur SEULEMENT pr faire un compteur, tu vas avoir un problème de rapidité qd ton site prendra de l'importance. pense à changer de système !
perig
Messages postés358Date d'inscriptionvendredi 1 novembre 2002StatutMembreDernière intervention 5 septembre 2006 8 déc. 2003 à 08:03
pyranhaz --> Si j’ai bien compris, tu veux changer ton compteur mais ce script n'est pas un script pour un compteur total.
Il ne compte que le nombre de visiteurs qui passent sur ta page dans la journée et se réinitialise chaque jour.
Ce n'est donc pas la même chose que ton conteur qui est à 26078 visiteurs.
cs_pyranhaz
Messages postés236Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention13 décembre 2004 8 déc. 2003 à 00:04
Comment je fais si je ne veux pas perdre la comptabilisation de mes visiteurs actuels en installant ce compteur répondant mieux à mes attentes ???
J'ai 26078 visiteurs de comptabilisés et je ne suis pas intéressé à inscrire 26078 fausses enregistrements dans MySQL pour atteindre le chiffre magique...
Comment peut-on alors modifié le nombre d'enregistrement MySQL ???
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 7 déc. 2003 à 12:26
pour la date toujours, moi je te conseil d'enregistrer des TIMESTAMPs dans ta table MySQL plutot que des dates. 9a te permet de récupérer la date et de l'enregistrer bcp plus simplement. Exemple:
pour enregistrer, tu passes time() comme param. pour que soit enregistrée la date du jour, ou bien tu utilises la fontion MySQL: NOW
pour lire, tu récupère ton timestamp dans $ts par exemple, eh bien après tu l'affiches comme tu veux!! tu fais ça: date($format, $ts);
et $format = "Y-m-d H:m:s" par exemple, c'est comme tu veux, et tu changes très facilement ;-)
cs_Nocturne
Messages postés115Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention15 novembre 2007 7 déc. 2003 à 12:25
C'est bien, mais juste une petite remarque, tu ne comptes pas les visiteurs qui peuvent provenir d'une connexion en reseau car ils ont la même IP Wan et donc compte pour un visiteur ce qui est faut. Domage.
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 20094 7 déc. 2003 à 11:54
Merci pour ton commentaire !
En ce qui concerne la date, c'est juste une préférence que j'ai de faire comme ça ! Je sais que l'on peut la récupérer en une ligne. Ca me permet de la retravailler plus facilement !
@+ et encore merci !
perig
Messages postés358Date d'inscriptionvendredi 1 novembre 2002StatutMembreDernière intervention 5 septembre 2006 7 déc. 2003 à 11:45
heu!!! Pour la date tu peux aussi la récupérer en 1 ligne avec
$date = date("Y-m-d");
sinon c'est bien!!
27 juil. 2007 à 14:02
supprimer la derniere virgule ;) ce qui donne ceci
CREATE TABLE compteur
(
ip CHAR(25) NOT NULL UNIQUE PRIMARY KEY,
date CHAR(10) NOT NULL
);
1 mai 2007 à 00:13
1 mai 2007 à 00:12
1 mai 2007 à 00:11
1 mai 2007 à 00:00
change ça :
if($compteur '1' OR $compteur '0')
en ça :
if($compteur <= '0')
;)
18 déc. 2006 à 02:04
La réponse au query de Mysql (ligne 42) n'est pas une seule valeur de $ip mais toute la série d'adresses IP de la journée. Il faut comparer la nouvelle adresse IP à toute la série!
C'est étonnant que personne ne s'en soit aperçu!
Si je devais donner une note elle serait trés petite!
9 janv. 2005 à 07:47
(comme tu le dit kirua)
6 avril 2004 à 20:34
Je vais te mettre un 10 puisque pour moi, ca suffit
Merci encore pour tus ces codes posés par tout le monde, c'est colle tout ca !!
8 déc. 2003 à 19:51
pour l'instant ce que je comprends, c'est qu'il faut que la date soit la même que celle du dernier enregistrement, ben ça tu fais une requête mysql ordonnée en fonction de la date:
ORDER BY champ_date ASC (ou DESC)
ASC ascendant, DESC descendant = croissant / décroissant
8 déc. 2003 à 19:20
L'anti-aspirateur bloque les ip en retanant la date...
il faut donc qu'il vide la table 'ban' where 'date' est différente de celle du ip qui vient d'être banni et ne garde que les ip bannis ayant la même date et effacera tout le monde dès que la date changera pour un nouvel ip banni, etc.
Merci !
8 déc. 2003 à 19:09
DELETE FROM table WHERE champ='valeur'
et donc en php tu as par exemple, pr la table $table, le champ $champ et la valeur $valeur:
$requete = "DELETE FROM $table WHERE $champ='$valeur'";
ce qui est important, c'est de ne pas oublier les ' ' autour de $valeur !!
8 déc. 2003 à 15:11
Je vais donc garder mon compteur cgi qui fait le travail...
Autre chose...
J'ai tenté d'adapter la partie du script qui vide la table dans mon script anti-aspirateur et il semble que cela n'efface rien du tout...
Seriez-vous disposé à m'aider à apporter les correctifs nécessaires svp ???
Merci !
8 déc. 2003 à 08:05
8 déc. 2003 à 08:03
Il ne compte que le nombre de visiteurs qui passent sur ta page dans la journée et se réinitialise chaque jour.
Ce n'est donc pas la même chose que ton conteur qui est à 26078 visiteurs.
8 déc. 2003 à 00:04
J'ai 26078 visiteurs de comptabilisés et je ne suis pas intéressé à inscrire 26078 fausses enregistrements dans MySQL pour atteindre le chiffre magique...
Comment peut-on alors modifié le nombre d'enregistrement MySQL ???
7 déc. 2003 à 12:26
pour enregistrer, tu passes time() comme param. pour que soit enregistrée la date du jour, ou bien tu utilises la fontion MySQL: NOW
pour lire, tu récupère ton timestamp dans $ts par exemple, eh bien après tu l'affiches comme tu veux!! tu fais ça: date($format, $ts);
et $format = "Y-m-d H:m:s" par exemple, c'est comme tu veux, et tu changes très facilement ;-)
7 déc. 2003 à 12:25
7 déc. 2003 à 11:54
En ce qui concerne la date, c'est juste une préférence que j'ai de faire comme ça ! Je sais que l'on peut la récupérer en une ligne. Ca me permet de la retravailler plus facilement !
@+ et encore merci !
7 déc. 2003 à 11:45
$date = date("Y-m-d");
sinon c'est bien!!