Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1662 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Compteur PHP - Comment ne pas compter plusieurs fois la même connectio

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compteur PHP - Comment ne pas compter plusieurs fois la même connectio

n°572016
Mams
Posté le 20-11-2003 à 21:40:22  profilanswer
 

Je suis un p'tit nouveau en ce qui concerne le PHP.
J'ai utilisé ce code pour me faire un compteur de visite sur mon site.
 
<?
 //Chemin complet et Nom du fichier à ouvrir
 $fichier3 = "compteurs/compteur-accueil";
 //On ouvre le fichier en lecture et en écriture
 $fp3 = fopen("$fichier3","r+" );
 //On recupère le nombre de visites dans le fichier
 $nbvisites3 = fgets($fp3,11);
 //On incrémente le nombre de visites
 $nbvisites3 = $nbvisites3 + 1;  
 //On se place en début de fichier
 fseek($fp3,0);
 //On écrit dans le fichier
 fputs($fp3,$nbvisites3);
 //On ferme le fichier
 fclose($fp3);
 //On affiche le nombre de visistes
 echo $nbvisites3;
?>

J'ai placé ce code sur la page d'accueil. Le problème c'est que si quelqu'un se connecte sur mon site, le compteur s'incrémente de 1, qu'il va sur une autre page et qu'il revient sur l'accueil, le compteur s'incrémente encore de 1.  En fait a chaque fois que quelqu'un revient sur l'accueil le compteur s'incrémente.
 
Ma question : Comment faire pour ne compter la connection qu'une seule fois ?
 
Puis, dans le même style. Je me connecte sur mon site régulièrement pour vérifier si mes mises à jour sont correctes.
Comment faire pour éviter que mon compteur ne s'incrémente quand JE me connecte, sachant que j'ai une IP fixe ?


Message édité par Mams le 20-11-2003 à 21:41:48

---------------
Je me lève de bonne humeur
mood
Publicité
Posté le 20-11-2003 à 21:40:22  profilanswer
 

n°572069
Profil sup​primé
Posté le 20-11-2003 à 22:55:05  answer
 

il te suffit de récupérer l'IP ($_SERVER['REMOTE_ADDR']) de l'utilisateur  
apres tu verifie si cette ip est pas deja ds ton compteur
dc c'est valable pr une journée si le gars a une ip dynamique
dans ce cas tu utilise un cookie si le client l'accepte, où tu stocke simplement une variable du genre dejapasse=true, de cetta facon à chaque visite sur ta page tu verifie si le cookie existe et tu n'incrémente po le nb de visites
 
 
 

n°572077
belgique
Posté le 20-11-2003 à 23:23:31  profilanswer
 

Pour ma part, j'ai fait un compteur "biaisé" ne comptant que les gens acceptant les cookies et visitant deux pages du site. Le gars arrive, je lis le cookie avec l'info concernant l'horodateur, s'il n'y en a pas, je lui envoie avec l'heure actuelle + le flag pas compté, s'il en a un qui date d'hier, je lui envoie l'heure actuelle plus le flag compté, et je le compte comme visiteur. Enfin, s'il en a un qui date d'ajd, je vérifie si son flag compté est vrai, si oui, je lui renvoie l'heure actuelle sinon je lui renvoie l'heure + le flag compté et je le compte. Le fait de renvoyer comme ça l'heure permet de compter en plus les visites.  

n°574001
Mams
Posté le 23-11-2003 à 18:59:17  profilanswer
 

sPiKe a écrit :

il te suffit de récupérer l'IP ($_SERVER['REMOTE_ADDR']) de l'utilisateur  
apres tu verifie si cette ip est pas deja ds ton compteur
dc c'est valable pr une journée si le gars a une ip dynamique
dans ce cas tu utilise un cookie si le client l'accepte, où tu stocke simplement une variable du genre dejapasse=true, de cetta facon à chaque visite sur ta page tu verifie si le cookie existe et tu n'incrémente po le nb de visites


 
Ok, j'ai bien compris le principe. Mais pour le code j'avoue que je suis un peu paumé  :(  
 
 
 
Un p'tit coup de main SVP  :D


---------------
Je me lève de bonne humeur
n°574007
_maximus_
Goret ptit con ^_^
Posté le 23-11-2003 à 19:03:07  profilanswer
 

C'est mieux de faire ca par le numero de session car par l'ip il se peut que des utilisateurs ai la meme (LAN, proxy de leur isp...)
 
ca change pas gd chose au code, et t sur a 100% d'avoir un num unique par internaute.
 
a+


---------------
Ptit con de goret je t'emmerde ^_^
n°574056
Hermes le ​Messager
Breton Quiétiste
Posté le 23-11-2003 à 20:10:23  profilanswer
 

_Maximus_ a écrit :

C'est mieux de faire ca par le numero de session car par l'ip il se peut que des utilisateurs ai la meme (LAN, proxy de leur isp...)
 
ca change pas gd chose au code, et t sur a 100% d'avoir un num unique par internaute.
 
a+


 
+1

n°574228
omega2
Posté le 23-11-2003 à 23:09:05  profilanswer
 

Pourquoi ne pas regarder l'adresse de la page précédante?
Si le gas vient d'une autre page du site alors c'est toujours la même visite et si il vient d'ailleur, c'est une nouvelle visite.
Si on rajoute un cookie, on peut aussi considéré que c'est la même  visite s'il vient de l'extérieur mais que la date-heure contenu dans le cookie est assez récente. ;)
 
Ca serait pas plus précis comme système?

n°575094
Mams
Posté le 24-11-2003 à 20:21:53  profilanswer
 

omega2 a écrit :

Pourquoi ne pas regarder l'adresse de la page précédante?
Si le gas vient d'une autre page du site alors c'est toujours la même visite et si il vient d'ailleur, c'est une nouvelle visite.
Si on rajoute un cookie, on peut aussi considéré que c'est la même  visite s'il vient de l'extérieur mais que la date-heure contenu dans le cookie est assez récente. ;)
 
Ca serait pas plus précis comme système?


 
Ca me parait cool tout ça ! Vous n'auriez pas un p'tit bout de code ?  :D


---------------
Je me lève de bonne humeur
n°575097
Hermes le ​Messager
Breton Quiétiste
Posté le 24-11-2003 à 20:25:22  profilanswer
 

Mams a écrit :


 
Ca me parait cool tout ça ! Vous n'auriez pas un p'tit bout de code ?  :D  


 
non.

n°576101
_maximus_
Goret ptit con ^_^
Posté le 25-11-2003 à 22:38:00  profilanswer
 


 
 [:rofl]  
 


---------------
Ptit con de goret je t'emmerde ^_^
mood
Publicité
Posté le 25-11-2003 à 22:38:00  profilanswer
 

n°576297
Profil sup​primé
Posté le 26-11-2003 à 02:02:48  answer
 

Mams a écrit :


 
Ca me parait cool tout ça ! Vous n'auriez pas un p'tit bout de code ?  :D  

et oui faut faire fonctionner les meninges de temps en temps, on est la pour l'entraide, mais pas au point de faire le travail pour les autres


Message édité par Profil supprimé le 26-11-2003 à 02:04:31

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Compteur PHP - Comment ne pas compter plusieurs fois la même connectio

 

Sujets relatifs
[PHP] Afficher les erreurs Warning et Notice[MySQL] Executer plusieurs requètes avec OleDB
pb du traitement des donnees en PHP recuperees d'un formulaire htmlsqlnet (sql*net) ,native ! PHP oracle
[PHP] Gestion des sessions[PHP] sessions stockées en mémoire
[Java] socket: faire tourner plusieurs serveurs sur le meme port[PHP] Voir l'espace disque restant
[PHP] Commande switch : meilleur méthodeDebugger PHP
Plus de sujets relatifs à : Compteur PHP - Comment ne pas compter plusieurs fois la même connectio


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR