Problème de cookie pour comptabiliser des visites

Eléphanteau du PHP | 31 Messages

31 déc. 2008, 16:03

Bonjour,

Afin de comptabiliser le nombre de visites reçues par tel ou tel texte publié sur mon site par des utilisateurs, je voudrais mettre en place un système de cookies qui log l'IP, afin d'empêcher de comptabiliser 2 fois le même visiteur, disons dans une période de temps de 24 heures.

Je suis déjà un peu familier avec les cookies, que j'utilise pour un système de votes sur ces mêmes textes, ce qui marche très bien d'ailleurs.

Le souci ici, c'est qu'aucune action de l'utilisateur ne vient déclencher le setcookie, si ce n'est le fait d'arriver sur la page. Donc j'avais déclaré une fonction en tout début de script, avec le setcookie, et appelée plus tard sur le texte affiché. Le problème c'est qu'il considère quand même cela comme une erreur "header already sent".

Comment m'en tirer autrement ? (J'espère que j'ai été clair ^^)

Merci par avance

ViPHP
ViPHP | 1996 Messages

02 janv. 2009, 19:27

Essaye cela : Tu fais ton set_cookie si le cookie n'existe pas ensuite tu le rediriges vers la même page avec header(). si le cookie existes, tu ne fais rien... Le tout bein sûr avant toute sortie HTML.

Entre nous le mieux pour les stats c'est côté serveur avec stockage des IP dans base de données ou fichier. Car il arrive que les cookies soit désactivés par les visiteurs ou à la rigueur non "writable" donc ta stratégie tombe à l'eau.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 31 Messages

04 janv. 2009, 01:03

Bon j'ai trouvé une solution similaire à celle que tu me proposes, en réalité en répétant les "if" qui mènent à l'affichage de mon texte, mais en tout début de script.

Merci pour ton aide.