edito
forum (83 231)
making of
raccourcis PS
coups de coeur (6)
archives CDC (26)
bétisier (28)
plan du site
infos légales

 


 

Devenez awares ! Et essayez de survivre.




aperçu
 

 

login | logout
gérez votre profil
devenez membre
membres (7536)
annivs (2614)
awares (69)
mickeys (68)
notables (128)
modérateurs (7)
votre vie privée

 

 

amis (39)
gfx français (61)
divers (936)
pixel art (94)
illustration (117)
portails (17)
ressources (31)
flash (324)
3D (31)

proposez votre site
dernières entrées
aléatoire (1652)
quicklist
top 10






























 

 

stats publiques
infocentres
référents (8 977)
ref quicklist (8 977)
visiteurs uniques
awards

7 593 381 hits
 




oici un tutorial trivial sur la création de compteurs de visites pour plusieurs pages. Un des premiers essais quand on découvre PHP, juste après c'est le compteur de hits sur les downloads huhu, tout un programme :) L'accent a été mis sur la simplicité de manipulation des compteurs dès que le système est opérationnel : juste 2 lignes en entête des pages où vous désirez un compteur et création automatique du compteur s'il est nouveau.


 

Vous aurez besoin d'une table compteurs que vous pouvez générer dans votre interface phpmyadmin grâce au script SQL suivant :

CREATE TABLE compteurs (
titre_page longtext NOT NULL,
compteur int(11) DEFAULT '0' NOT NULL,
date_derniere_visite longtext NOT NULL
);

A chaque page seront associés 3 informations : le titre de la page, son compteur comprenant le nombre de visites et la date de la dernière visite.


 

Ensuite, dans l'entête HTML de chacune des pages où vous désirez avoir un compteur actif, rajoutez le code PHP suivant :

<?
   // MAJ DU COMPTEUR DE VISITES ET DE LA DATE DE DERNIERE VISITE
   $titre_page="Sommaire";
   include ("maj_compteurs.php");
?>

Le compteur est maintenant actif, il ne reste plus qu'à écrire le fichier maj_compteurs.php qui incrémente les compteurs respectifs et crée un compteur dans le cas où le compteur auquel on fait référence soit nouveau.


 

Le fichier maj_compteurs.php se présente comme suit, pas de remarque particulière, il est commenté :

<?
   include ("connexion_a_la_base.php"); // PARAMETRAGE DE LA CONNEXION
   $link = mysql_connect ($host,$user,$password); // INITIALISATION DE LA CONNEXION
   mysql_select_db($bdd, $link);

   $compteur=0;
   $datedujour=date("d m Y à H:i");

   $req1="select compteur from compteurs where titre_page='$titre_page'";
   $compteur_present=mysql_numrows(mysql_query($req1, $link)); // TEST SI LE COMPTEUR EST PRESENT DANS LA TABLE

   if ($compteur_present==0)
   {
      // LE COMPTEUR N'EXISTE PAS DANS LA TABLE -> INSERTION
       $req2="INSERT into compteurs (titre_page, compteur, date_derniere_visite) VALUES ('$titre_page', '1', '$datedujour')";
       mysql_query($req2, $link); // INSERTION DU NOUVEAU COMPTEUR DANS LA TABLE
   }
   else
   {
      // LE COMPTEUR EXISTE DANS LA TABLE -> MODIFICATION
      $res1=mysql_query($req1, $link);

      while($row1=mysql_fetch_row($res1))
      {
         $compteur=$row1[0]; // RECUPERATION DE LA VALEUR DU COMPTEUR
         $compteur++; // INCREMENTATION
      }
      mysql_free_result($res1);

      // MISE A JOUR DU COMPTEUR
      $req2="update compteurs set compteur=$compteur where titre_page='$titre_page'";
      mysql_query($req2, $link);

      // MISE A JOUR DE LA DATE DE DERNIERE VISITE
      $req2="UPDATE compteurs SET date_derniere_visite='$datedujour' WHERE       titre_page='$titre_page'";
      mysql_query($req2, $link);
   }
   // mysql_close($link); // FERMETURE DE LA CONNEXION
?>


 

Vous pouvez maintenant insérer facilement un nouveau compteur dans toutes vos pages en copiant/collant le code suivant dans l'entête HTML et en ne modifiant que la variable $titre_page :

<?
   // MAJ DU COMPTEUR DE VISITES ET DE LA DATE DE DERNIERE VISITE
   $titre_page="Sommaire";
   include ("maj_compteurs.php");
?>

Pour afficher le nombre de visites, généralement dans la même page que celle contenant l'initialisation du compteur, récupérez simplement la variable $compteur_page initialisée dans l'include maj_compteurs.php de l'étape précédente.

<?
   print("$compteur visites\n"); // AFFICHAGE DU NOMBRE DE VISITES
?>

Ce principe est généralisé à l'ensemble des pages de ce site, voir ci-dessous par exemple. Cliquez sur le tuto php - compteurs de hits à mémoire / cookies pour voir la construction guidée de compteurs plus évolués.


Tuto proposé par :

piregwan (sympatisant mi (..))
35 ans
piregwan_AT_piregwan.com
http://www.piregwan.com


11127 visites




 

0A0, 15 06 2005 à 20:43

C'est trop fort

j'aime ces tuto


0A0 (experte ès o0o)
32 ans (Grenoble)
andoao_AT_gmail.com


Fox971, 18 11 2002 à 04:51

salut
j'ai un petit pb
avec l'affichage du compteur
<?
print("$compteur_page visites\n"); // AFFICHAGE DU NOMBRE DE VISITES
?>
car il ne fonctionne pas pour moi
sur mon serveur local

un peux d'aide svp


Fox971 (membre)
28 ans (Sainte-Anne)
sheron971_AT_gmail.com
http://soundgwada.free. (..)


angel2k, 19 08 2002 à 10:35

Un peu de théorie : les entreprises le plus souvent ont une connexion (grosse de préférence) qu'elles partagent. Si ce partage utilise le NAT (i.e. translation d'adresse) les clients "auront" l'adresse publique de la passerelle pour IP. Donc si toto (de la société marshmallow2000) fait un hit et que titi, son collègue clique également sur le lien il ne sera pas enregistré puisqu'ils auront tous les 2 la même IP.

Voilou.


angel2k (membre du fan- (..))
29 ans (Amiens)
angel2k_AT_piregwan.com
http://blacklord.little (..)


o0o, 19 08 2002 à 10:27

héhé, j'edit mes comments plus vite que la lumière.

mais outre le cas des entreprise, les ip dynamiques gènent en quoi précisément?




o0o (agent invisibl (..))
38 ans (internet)
o0o_AT_piregwan.com
http://www.o0o.ch


angel2k, 19 08 2002 à 10:22

A cause des ip dynamiques (RTC surtout). Sans oublier que si deux personnes utilisent la même connexion (en entreprise) le hit ne sera pas comptabilisé 2 fois. Les IP c'est que des inconvénients.


angel2k (membre du fan- (..))
29 ans (Amiens)
angel2k_AT_piregwan.com
http://blacklord.little (..)


o0o, 19 08 2002 à 10:18

a cause des visiteurs ayant une adresse ip dynamique.

mais en effet, pourquoi pas?


o0o (agent invisibl (..))
38 ans (internet)
o0o_AT_piregwan.com
http://www.o0o.ch


( 24 commentaires )
<< 1 2 3 4 5 6 7 8 9 10 11 12 >>

 











P I R E G W A N . C O M
interface, développement & hébergement - piregwan 1998-2004




forum | infocentres | recherche | t-shirts | photos


généré en 1.337 secondes