PHP réinitialiser contenu fichier à la fin

Gaël -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour, je suis en train de créer un site avec du php, j'ai créé un fichier texte "compteur.txt" dans lequel un code php vient augmenter le nombre de 1 à chaque visite.
<?php
$monfichier = fopen('compteur.txt', 'r+');
$pages = fgets($fichier); 
$pages++; 
fseek($fichier, 0);
fputs($fichier, $pages); 
 fclose($fichier);
?>

Serait-il possible de réinitialiser le contenu de ce fichier à la fermeture du navigateur (ou de l'onglet) ? Je voudrais qu'à chaque fois qu'un visiteur regarde les pages, le compteur augmente de 1 (ce qui est déjà fait) mais il faudrait qu'à chaque fois qu'un visiteur quitte, le fichier texte reprenne la valeur 0.

Cette information me serait très utile (pas forcément pour un compteur), merci d'avance pour vos réponses.


A voir également:

3 réponses

mouglixx Messages postés 535 Statut Membre 159
 
Php ne sait pas quand un internaute quitte la page. Car Php est côté serveur.
Tu peux suivre un internaute avec les URL_REFERER ( s'il l'a pas désactivé ), des cookies, ou encore et surtout de l'ajax.
En gros, quand l'internaute s'en vas de ta page, tu peux envoyer un message ( javascript vers une page php ) qui elle enregistrera ton choix.
Cherche avec ces pistes.

Donc : regarde du côté de l'ajax. ( jquery par exemple ).
1
Gaël
 
Merci, en réalité, je tente de contourner le problème des cookies non-autorisés par défaut sur IE. Donc, je me demandais s'il était possible de se fabriquer un cookie avec ce système.
Étant donné le temps assez réduit que j'ai pour terminer ce site, je pense que je vais être obligé de mettre le petit message : "Si le mot de passe vous est demandé à chaque fois, veuillez autoriser les cookies dans votre navigateur".
Sinon, parmi tous ces sytèmes, y en a t'il un simple et rapide ?
0
Meoran Messages postés 1640 Statut Membre 208
 
Je ne suis pas sur d'avoir bien saisi :

tu as un fichier qui est incrémenté à chaque fois qu'un visiteur visite une page, mais tu veux le réinitialiser dès qu'un (et un seul) visiteur quitte la page.

Corrige moi si je me trompes mais dans ce cas là, je saisi mal le sens que pourrait avoir ton compteur.
0
Alain_42 Messages postés 5413 Statut Membre 894
 
Il y a plusieurs façon de quitter une page, en cliquant sur un lien, par précédent, en cliquant sur la croix fermer, en fermant le navigateur etc..

Mais tu as la solution (qui reste qd même au bon vouloir de l'internaute)
de mettre un bouton bien visible ("Fermer la page" ou "quitter" ) dans ta page sur lequel l'internaute doit cliquer pour quitter

Par ce bouton tu peux lancer une fonction javascript Ajax qui va appeler un script php sur le serveur et intervenir sur ton compteur avant de fermer la page.
0