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

  FORUM HardWare.fr
  Programmation
  PHP

  compteur et actualisation ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

compteur et actualisation ?

n°1564254
Officieum1
Posté le 23-05-2007 à 19:49:20  profilanswer
 

Bonjour a tous,
 
J'ai un petit problème avec un script que j'ai trouvé sur internet, je maitrise trés peu le php et je fais donc appel a votre aide.
 
Alors voila, mon but est d'installer sur une page un compteur afin de savoir combien de fois telle page a pu être visitée, indépendemment de l'IP.
 
J'ai donc un petit script qui ajoute 1 dans un fichier texte à chaque fois que la page est visitée.
Cependant pour plus de précision, je souhaiterais que lorsque le visiteur actualise la page en question, cela ne soit pas compté comme une visite.
Serait t'il possible d'ajouter 1 si et seulement si le visiteur vient d'une page définie (page ou se trouve le lien), ou alors de désactiver l'ajout de la valeur 1 losque le visiteur actualise sa page.
Cependant je ne souhaite pas qu'on ne compte qu'une visite par IP (le visiteur pouvant revenir sur la page une heure plus tard ou meme 5min plus tard), ce qui complique, je crois, ma tache.
 
Voici mon code :  

Citation :

<?  
$fich="cpt.txt"; /* nom du fichier compteur */
$fp=fopen("$fich","r+" ); /* Ouverture du fichier en lecture/ecriture */
$cpt=fgets($fp,10); /* lecteur des 10 premiers caractères */  
$cpt++; /* Incrémente le compteur de 1 */  
fseek($fp,0); /* Déplacment du pointeur au début du fichier */  
fputs($fp,$cpt); /* Ecriture de la nouvelle valeur du compteur */
fclose($fp); ?>


 
Voila... si vous pouviez m'aider se serait super.
 
Merci.

mood
Publicité
Posté le 23-05-2007 à 19:49:20  profilanswer
 

n°1564263
Big-Foot
Posté le 23-05-2007 à 20:09:31  profilanswer
 

Si tu veux pas utiliser de sessions ou autres, tu peux tout simplement faire pointer tes liens vers tapage.php, mais après l'itération du redirige (avec un header() ) le visiteur vers tapage.php?visited=1.
Avant d'exectuer ton itération tu contrôle que !isset($_GET['visited']).

n°1564270
Officieum1
Posté le 23-05-2007 à 20:18:29  profilanswer
 

Merci a toi pour ta réponse rapide... mais comme je l'ai préciser je ne maitrise pas du tout le php...
serait-il possible pour toi de rajouter dans mon code ce que ca donne exactement... parceque la je vois pas comment faire...
Désolé.
 
Merci


Message édité par Officieum1 le 23-05-2007 à 20:19:02
n°1564290
Officieum1
Posté le 23-05-2007 à 21:03:52  profilanswer
 

Quelqu'un peu m'aider ?????
S'il vous plait

n°1564316
Big-Foot
Posté le 23-05-2007 à 21:57:17  profilanswer
 

Code :
  1. if(!isset($_GET['visited']))
  2. {
  3. $fich="cpt.txt"; /* nom du fichier compteur */
  4. $fp=fopen("$fich","r+" ); /* Ouverture du fichier en lecture/ecriture */
  5. $cpt=fgets($fp,10); /* lecteur des 10 premiers caractères */ 
  6. $cpt++; /* Incrémente le compteur de 1 */ 
  7. fseek($fp,0); /* Déplacment du pointeur au début du fichier */ 
  8. fputs($fp,$cpt); /* Ecriture de la nouvelle valeur du compteur */
  9. fclose($fp);
  10. header("Location: /tapage.php?visited=1" );
  11. }


Message édité par Big-Foot le 23-05-2007 à 23:35:08
n°1564330
Officieum1
Posté le 23-05-2007 à 22:43:22  profilanswer
 

ca ne marche... malheureusement pas.
Merci quand même si vous avez une autre idée..
Jes suis prenant.
Merci.

n°1564349
Big-Foot
Posté le 23-05-2007 à 23:35:55  profilanswer
 

j'avais écrit une connerie, voilà c'est corrigé.

n°1564386
Officieum1
Posté le 24-05-2007 à 08:30:21  profilanswer
 

Warning: Cannot modify header information - headers already sent by (output started at /mnt/138/sda/3/8/###########/######/compteur.php3:13) in /mnt/138/sda/3/8/###########/######/compteur.php3 on line 73
 
la ligne 13 correspondant a l'ouverture de mon script avec <?
et la ligne 73 : header("Location: /tapage.php?visited=1" );}
 
Voila...
Je comprend pas tout.

n°1564499
Big-Foot
Posté le 24-05-2007 à 12:02:11  profilanswer
 

Tu dois mettre ce bout de script en début de code, il ne doit y avoir rien qui soit envoyé au client avant. En gros tu dois placer tout ça avant même la balise <html> de ta page.
N'hésite pas à utliser la doc de php, elle est très complète et accessible:
http://ch2.php.net/manual/fr/function.header.php
 
Et si jamais dans :
header("Location: /tapage.php?visited=1" );}  
"tapage" est à remplacer par le nom de ta page hein.


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

  compteur et actualisation ?

 

Sujets relatifs
Compteur java :: nb de messages/sec[Résolu] Compteur + somme
implication du compteur for()Actualisation page
Probleme d'actualisationActualisation auto en AJAX
order by dans clause match => comment bloquer le compteur[T-SQL] Créer un compteur (clé) dans un select
Rafraichissement d'un compteurAide Compteur Cota
Plus de sujets relatifs à : compteur et actualisation ?


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