Designed by Gaetan !
5 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche


Acheter - Vendre
neuf et occasion

pda, jeux vidéo, graveur, cd vierges, dvd vierges, matériel informatique, pc, ordinateur portable, logiciel, antivirus, annonces gratuites

 NewsLetter





   

Compteurs

Compter les hits ou les visites





Compter les hits
On utilisera un petit fichier, géré par le File System, dans lequel on incrémente un nombre à chaque chargement d'une page (inclure le script ci-dessous dans chaque page via SSI par exemple)

<% ' Compteur ASP de hits

' Création de l'objet permettant de manipuler les fichiers
Set FSO=CreateObject("Scripting.FileSystemObject")
' Le dossier "data" doit être déprotégé en écriture !
' (voir sinon avec l'admin de l'hébergeur)
fichier=Server.MapPath("/data") & "\compteur.txt"

' Lecture du fichier s'il existe et incrémente
cpt = 1
if FSO.FileExists(fichier) then
   set inF = FSO.OpenTextFile(fichier,1,false)
   cpt = cLng(inF.readLine) + 1 ' jusqu'à 2 milliards
   inF.close
end if

' Sauvegarde du compteur
set inF = FSO.createTextFile(fichier)
inF.writeLine(cpt)
inF.close
%>

<? // Compteur PHP de hits

$fichier="compteur.txt";

// Lecture du fichier s'il existe et incrémente
$cpt = 1;
if(file_exists($fichier)) {
   $inF = fopen($fichier,"r");
   $cpt = intval(trim(fgets($inF, 4096))) + 1; 
   fclose($inF); 
}

// Sauvegarde du compteur
$inF = fopen($fichier,"w");
fputs($inF,$cpt."\n"); 
fclose($inF);
?>

Remarques
  • On peut différencier chaque page en sauvegardant les hits dans un fichier différent...
  • On peut aussi ajouter un point dans le fichier à chaque hit puis regarder la taille du fichier...
  • <% ' Compteur ASP de hits
    Set FSO=CreateObject("Scripting.FileSystemObject")
    fichier=Server.MapPath("/data") & "\compteur.txt"

    ' Incrémente le compteur (crée le fichier si besoin)
    set inF = FSO.openTextFile(fichier,8,true)
    inF.write(".")
    inF.close

    ' Lecture de la taille du fichier
    cpt = FSO.GetFile(fichier).size
    %>
    <? // Compteur PHP de hits

    $fichier="compteur.txt";

    // Incrémente le compteur
    $inF = fopen($fichier,"a");
    fputs($inF,"."); 
    fclose($inF);

    // Lecture de la taille du fichier
    $cpt = filesize($fichier);
    ?>


    Compter les visites
    Le principe est le même sauf qu'il ne faut sauvegarder qu'un seul hit par session d'où un petit test ainsi qu'un marquage par cookie
    <% ' Compteur ASP de visites/cookie
    Set FSO=CreateObject("Scripting.FileSystemObject")
    fichier=Server.MapPath("/data") & "\compteur.txt"
    ' si c'est le premier hit de la session
    if request.cookies("visite")="" then
       ' marque la session
       response.cookies("visite")="ok"

       ' Incrémente le compteur (crée le fichier si besoin)
       set inF = FSO.openTextFile(fichier,8,true)
       inF.write(".")
       inF.close
    end if

    ' Lecture de la taille du fichier
    cpt = FSO.GetFile(fichier).size
    %>
    <? // Compteur PHP de hits/cookie
    $fichier="compteur.txt";
    // si c'est le premier hit de la session
    if($visite=="") {
       // marque la session
       setcookie("visite","ok");

       // Incrémente le compteur
       $inF = fopen($fichier,"a");
       fputs($inF,"."); 
       fclose($inF);
    }

    // Lecture de la taille du fichier
    $cpt = filesize($fichier);
    ?>

    ou par variable Session...
    <% ' Compteur ASP de visites/session
    Set FSO=CreateObject("Scripting.FileSystemObject")
    fichier=Server.MapPath("/data") & "\compteur.txt"
    ' si c'est le premier hit de la session
    if session("visite")="" then
       ' marque la session
       session("visite")="ok"

       ' Incrémente le compteur (crée le fichier si besoin)
       set inF = FSO.openTextFile(fichier,8,true)
       inF.write(".")
       inF.close
    end if

    ' Lecture de la taille du fichier
    cpt = FSO.GetFile(fichier).size
    %>
    <? // Compteur PHP de hits/session (v4+)
    session_register("visite");
    $fichier="compteur.txt";
    // si c'est le premier hit de la session
    if($visite=="") {
       // marque la session
       $visite="ok";

       // Incrémente le compteur
       $inF = fopen($fichier,"a");
       fputs($inF,"."); 
       fclose($inF);
    }

    // Lecture de la taille du fichier
    $cpt = filesize($fichier);
    ?>


    Afficher le résultat
    Le nombre de hits est dans la variable cpt, on peut donc soit l'afficher en mode texte
    Visite n° <%=cpt%>
    Visite n° <? echo $cpt; ?>

    soit l'afficher en mode graphique !...
    <% ' Affichage du compteur
    ' convertir en chaîne
    cptStr=cStr(cpt)
    ' mettre au moins 5 chiffres
    if len(cptStr)<5 then _
       cptStr=right("0000" & cptStr,5)
    ' Construction du compteur graphique
    cptGraph = "<table border='0' cellspacing='0'" _
       & " cellpadding='0'><tr>"
    for i = 1 to len(cptStr)
       cptGraph = cptGraph & "<td><img src='/img/" _
          & mid(cptStr,i,1) & ".gif'></td>"
    next
    cptGraph = cptGraph & "</tr></table>"
    ' Afficher le compteur
    response.write(cptGraph)
    %>

    Télécharger un exemple complet
    <? // Affichage du compteur
    // convertir en chaîne
    $cptStr=strval($cpt);
    // mettre au moins 5 chiffres
    if(strlen($cptStr)<5)
       $cptStr=substr("0000".$cptStr,-5);
    // Construction du compteur graphique
    $cptGraph = "<table border='0' cellspacing='0'";
    $cptGraph .= " cellpadding='0'><tr>";
    for($i=0;$i<strlen($cptStr);$i++) {
       $cptGraph .= "<td><img src='img/";
       $cptGraph .= substr($cptStr,$i,1).".gif'></td>";
    }
    $cptGraph .= "</tr></table>";
    // Afficher le compteur
    echo $cptGraph;
    ?>

    Télécharger un exemple complet
    A lire aussi
  • Et avec Flash, c'est possible aussi !!!
  • Offrir cet outil à vos visiteurs webmasters ?
  • Comment compter les visiteurs présents sur le site
  • Comment compter le nombre de fichiers téléchargés sur votre site

  • Pour pouvoir écrire dans ce forum, identifiez-vous !

     Lire  19/10/2007 de mtgt
    Bonjour, j'utilise ce compteur PHP de hits/session (v...
      v1.3p © ASP-PHP.net 2002  

    Didier le 24/01/2003 (146 553 hits)
    Didier Téléchargez gratuitement !!!
    7 logiciels illimités dont Visual Studio Pro et SQL Server 2005 !
    SQL Server 2008 ß !
    [gratuit] 11-12-13 février
    les MS TechDays 2008 !!!
    Au fil des news  
    Dreamweaver CS3 + XML + Ajax - Création d'une région détail
    Dans cet article, je vais vous montrer comment utiliser la technique région détail, avec Spry
    PHP - joli arborescence dynamique
    Magazines - Le N°104 de Programmez est disponible
    PHP - PhPBB 3.0.0 !!!
    [MAJ] Université de Sherbrooke - située dans un beau coin du Québec, l'Estrie...
    - Ajout du programme d'imagerie et de médias numérique - Le département de mathématiques et ...
    Magazines - Le N°103 de Programmez est disponible
    PHP - Calcul jours ouvrables entre dates, gestion fériés
    PHP - WampServer 2.0, la nouvelle version de WAMP5 !
    SharePoint 2007 et Workflows Designer - Part 2 - Modifions un workflow dans SharePoint 2007
    Dans la première partie, nous avons vu comment créer un WorkFlow dans MOSS avec SharePoint ...
    Modifier le ruban de Word 2007 avec Open XML -
    Open XML est un format de document bureautique flexible : structure basée sur l'Open Packaging ...
    La corbeille de SharePoint 2007 - Fonctionnement de la corbeille de SharePoint 2007
    Une des nouveautés de SharePoint 2007 est la mise en place de la corbeille pour chaque site. Il est ...
    SharePoint 2007 et Workflows Designer - Part 1 - Créer un workflow simple dans SharePoint 2007
    L'automatisation de Workflows, ou Flux de travail, résulte d'une volonté d'amélioration de ...
    CSS - Dégradé de couleur
    Magazines - Le N°102 de Programmez est disponible
    Dreamweaver CS3 + Mysql - Formulaire de redirection
    Suite au coup de pouce de DB77, je vous propose ce petit script pour améliorer vos pages Internet. ...
    [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0
    Mis à jour le 26/10/2007
    Magazines - Le Hors-Série .Net de Programmez est disponible
    LINQ et vous - Part 2 - Le .NET Framework 3.5 décortiqué !
    Ce nouvel article fait suite à mon premier article de cette nouvelle collection « LINQ et vous ». ...
    Présentation des KPI dans SharePoint - Présentation des KPI dans SharePoint 2007
    Nous verrons au travers de cet article une présentation détaillée de ce qu'est un KPI et dans quel ...
    LINQ et vous - Part 1 - Evolutions du .NET Framework - Visual Studio 2008
    Voilà plus d'un an que je n'ai plus posté d'articles sur ma communauté préférée. Il était temps ...
    Agenda - 21-22 novembre : Le Forum PHP 2007 !
    Microsoft - Essayez gratuitement MS Expression Studio !!!
    Les Utilisateurs dans SharePoint - La gestion des utilisateurs dans SharePoint
    SharePoint dont le coeur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur ...
    Magazines - Le N°101 de Programmez est disponible
    Hebergement - hébergement de forum gratuit - créer un forum.
    Revue de presse - Nouvelle mise à jour chez Adobe
    PHP - import csv vers bdd avec verification
    PHP5 - Csv2array
    PHP - Framework PHP5 - PoppyFramework
    Le Moteur de Recherche de MOSS 2007 - Installer le moteur de recherche de MOSS 2007
    Nous avons vu dans un précédent article comment mettre en place le moteur de recherche dans un site ...
    PHP5 - incrementation alphanumerique
    Magazines - Le N°100 de Programmez est disponible
    Agenda - Adobe vous donne rendez-vous du 4 au 9 septembre..
    ABAP leçon 1 : Les variables - Auteur : Jerome Fortias
    je me devais de continuer mon travail de vulgarisation à SAP. En parallèle à mon site destiné aux ...
    Agenda - Nov 2007 : Les TechEd Developers à Barcelone !
    Microsoft - Vista SP1 et XP SP3 pour bientôt !
    Le Moteur de Recherche de WSS V3 - Installer le moteur de recherche de WSS V3
    Parmi les évolutions de Windows SharePoint Services V3, on trouve le moteur de recherche. Nous ...
    PHP - array2xml convertie un array en xml
    Revue de presse - Flash Player 9 Update beta
    PHP5 - class Timer - ajouter/enlever du temp au time unix
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3 © Didier 2003   
     
     Codes Sources El Roubio ASP-magazine Groupes Utilisateurs Microsoft Wygwam DotNet Project CodePPC The Inquirer FR TechNet MVP