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

  FORUM HardWare.fr
  Programmation
  PHP

  problème de cookie

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de cookie

n°1671150
Galdon
Posté le 14-01-2008 à 21:16:56  profilanswer
 

Bonjour, sur mon site, j'ai un petit script qui compte le nombre de pages vues ainsi que le nombre de visites journalières.
Je souhaite l'améliorer en ignorant le trafic que je génère, et pour cela je place un cookie sur mon ordinateur.
Si ce cookie est présent sur l'ordinateur du client, le compteur n'est pas mis à jour.
 
Voila le code du compteur de pages vues:

Code :
  1. <?php
  2. function cpt_vues(){
  3. // on créé un fichier compteur.txt s'il existe po
  4. if(!file_exists("etc/compteur/compteur.txt" )){
  5.  $fichier = fopen("etc/compteur/compteur.txt","w+" );
  6.  fclose($fichier);
  7. }
  8. // on incrémente le compteur de 1 dans le fichier compteur.txt
  9. $fichier = fopen("etc/compteur/compteur.txt","r+" );
  10. $cpt = fgets($fichier,12)+1;
  11. fseek($fichier,0);
  12. fputs($fichier,$cpt);
  13. fclose($fichier);
  14. return join('',file("etc/compteur/compteur.txt" ));
  15. }
  16. //pour afficher la valeur du compteur à l'écran :
  17. //si le cookie est défini, alors on se contente d'afficher le nombre de pages vues
  18. if(isset($_COOKIE['stats_perso']))
  19. echo join('',file("etc/compteur/compteur.txt" )).' - <font color="red">stats perso off</font>';
  20. //sinon, on met à jour le compteur et on affiche le nombre de pages vues
  21. else
  22. echo cpt_vues();
  23. ?>


 
J'ai aussi un fichier php qui me permet de créer ce fameux cookie, et donc de m'exclure des stats:

Code :
  1. <?php
  2. //on mémorise l'état du cooki avant
  3. if (isset($_COOKIE['stats_perso']))
  4. $status = '<font color="red">Stats OFF</font> (Cookie défini, valeur:*'.$_COOKIE['stats_perso'].'*)' ;
  5. else
  6. $status = '<font color="green">Stats ON</font> (Cookie non défini)';
  7. //fin de mémorisation
  8. $timestamp_expire = time() + 100*24*3600; // Le cookie expirera dans un an
  9. if (isset($_GET['action'])){
  10. if ($_GET['action']=='stats_off')
  11.  setcookie('stats_perso', 'yes', $timestamp_expire); // On écrit un cookie
  12. else if ($_GET['action']=='stats_on')
  13.  setcookie('stats_perso', '', $timestamp_expire); // On écrit un cookie
  14. header('Location:/includes/cookie-stat-off.php');
  15. }
  16. //on mémorise l'état du cooki après
  17. if (isset($_COOKIE['stats_perso']))
  18. $status_fin = '<font color="red">Stats OFF</font> (Cookie défini, valeur:*'.$_COOKIE['stats_perso'].'*)';
  19. else
  20. $status_fin = '<font color="green">Stats ON</font> (Cookie non défini)';
  21. //fin de mémorisation
  22. ?>
  23. + du html qui affiche le status avant et après


 
Seulement voila, que le cookie soit sur mon ordi ou pas, ca changer rien il n'arrive pas à m'ignorer (le compteur est toujours mis à jour).
Je n'arrive pas a comprendre pourquoi il passe toujours dans

Code :
  1. else
  2. echo cpt_vues();


Ca fait presque une heure que je bloque là dessus, et je commence à désespérer, alors je m'en remet à vous.
 
Merci


---------------
cours pour débuter sous 3d studio max - Photoshop pour les nuls
mood
Publicité
Posté le 14-01-2008 à 21:16:56  profilanswer
 

n°1671209
Galdon
Posté le 14-01-2008 à 23:03:14  profilanswer
 

Bon ben problème résolu, il fallait simplement renseigner path dans setcookie, sinon le cookie n'est valable que sur le sous repertoire includes.
Merci de votre aide si précieuse  :D


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

  problème de cookie

 

Sujets relatifs
Probleme de cookieProbleme COOKIE site multi langue[RESOLU]
Probleme de cookieproblème controle d'accès avec cookie
[JavaScript] Problème avec un cookieProblème d'écriture de cookie
[JavaScript] Problème avec mon CookiePRoblème de cookie
[PHP] Probleme de compteur de visite et de cookieProblème de cookie chez OVH
Plus de sujets relatifs à : problème de cookie


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