dimi3 Posté 17 Février 2011 Posté 17 Février 2011 (modifié) Bonjour, Afin de n'incrémenter mon compteur de visites qu'à la première ouverture du fichier index de mon site, j'ai imaginé ce code : <?php$_SESSION_START();if (!isset($_SESSION['visite'])) {$compteur++;}else{$_SESSION['visite'] = "1";} Ca ne fonctionne pas. Ce code incrémente mon compteur à chaque ouverture du fichier index. Voyez-vous une erreur dans mon raisonnement ? Je vous remercie. Modifié 17 Février 2011 par dimi3
captain_torche Posté 17 Février 2011 Posté 17 Février 2011 $_SESSION_START(); ne veut rien dire (Bizarre qu'il ne te lance pas d'erreur, d'ailleurs). Remplace-le par "session_start();", tout simplement.
dimi3 Posté 17 Février 2011 Auteur Posté 17 Février 2011 $_SESSION_START(); ne veut rien dire (Bizarre qu'il ne te lance pas d'erreur, d'ailleurs). Remplace-le par "session_start();", tout simplement. Merci de votre attention. J'ai fait erreur en écrivant mon code dans mon message précédent. Dans mon fichier, j'ai bien mis "session_start();".
captain_torche Posté 17 Février 2011 Posté 17 Février 2011 As-tu un session_start() sur chacune de tes pages ?
dimi3 Posté 17 Février 2011 Auteur Posté 17 Février 2011 As-tu un session_start() sur chacune de tes pages ? Oui, partout.
captain_torche Posté 17 Février 2011 Posté 17 Février 2011 Juste au cas où : où et comment est définie ta variable compteur ?
Ernestine Posté 17 Février 2011 Posté 17 Février 2011 Mais ce code est sensé faire quoi ? Et qu'est ce qui ne marche pas ? Là tel quel, à première vue, $_SESSION['visite'] n'est jamais initialisée, puisqu'on l'initialise à 1 uniquement dans le cas où il existe déjà (si !isset($_SESSION['visite'] n'est pas vérifé, donc si $_SESSION['visite'] existe)
dimi3 Posté 17 Février 2011 Auteur Posté 17 Février 2011 (modifié) Juste au cas où : où et comment est définie ta variable compteur ? La variable compteur se trouve dans un fichier texte. Le code complet est : <?php$_SESSION_START();$fc= fopen("./compteur/compteur.txt",'r');$compteur = fgets($fc,1024);$compteur = trim($compteur);fclose($fc);if (!isset($_SESSION['visite'])) {$compteur++;}else{$_SESSION['visite'] = "1";} Il ne me semble pas que le problème se situe au niveau de la variable compteur puisque celle-ci s'incrémente correctement, mais au niveau de ma condition qui n'est pas respectée. Le compteur s'incrémente même quand la condition n'est pas satisfaite. Modifié 17 Février 2011 par dimi3
dimi3 Posté 17 Février 2011 Auteur Posté 17 Février 2011 (modifié) Mais ce code est sensé faire quoi ? Et qu'est ce qui ne marche pas ? Là tel quel, à première vue, $_SESSION['visite'] n'est jamais initialisée, puisqu'on l'initialise à 1 uniquement dans le cas où il existe déjà (si !isset($_SESSION['visite'] n'est pas vérifé, donc si $_SESSION['visite'] existe) Voilà, j'étais sûr d'avoir fait une erreur de raisonnement... mais je ne parvenais pas à la déceler. Merci à toi et merci à Captain_torche pour ses propositions de vérifications. Modifié 17 Février 2011 par dimi3
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant