Designed by Vince El Roubio !
74 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 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 (151 454 hits)
    Didier Ils l’ont fait avec SQL Server. Découvrez comment !
    Concours de programmation Flash !
    Au fil des news  
    ASP - Redimensionner Image + Picto après Upload - Galerie photos, revue de presse, ...
    But : Proposer aux visiteurs de charger des images sans se soucier du "poids" de l'image, puisqu'on ...
    Exporter et Importer un site SharePoint - Comment déplacer un site SharePoint
    Une question est très régulièrement posée à tout responsable de ferme SharePoint : Comment ...
    Bon anniversaire - Comment le souhaiter à ses membres ?
    Avoir un site, c'est bien. Avoir des inscrits, c'est mieux. Souhaiter leur anniversaire, c'est ...
    Audio & Vidéo - Multimédia dans ses pages web
    AUDIO/VIDEO : QuickTime, MediaPlayer, RealPlayer, FlashPlayer, ... : Du multimédia dans ses pages ...
    Magazines - Le Hors-Série .Net de Programmez !
    PHP - Administrer en ligne - Protection des pages
    Protéger ses pages pour administrer son site en ligne en (relative) sécurité (PHP).
    Communautés - Concours de programmation Flash !
    [MAJ] Afficher ses images à la taille voulue - Utilisation du composant IMGSIZE
    Ajout de la vérification de l'existence du fichier et d'un test d'erreur de retour du composant ...
    Protéger ses Images - Propriété intellectuelle - Vie privée
    Je me suis penché sur la question en tant qu'artiste moi-même, et concepteur de site web pour ...
    Création de miniatures - Fonction php de création
    Cette fonction sert à créer des miniatures.
    ASP - ADMINISTRER en ligne - Protection des pages
    Protéger ses pages pour administrer son site en ligne en (relative) sécurité (ASP).
    JavaScript - Numéros de ligne à gauche d'un textarea
    Protection - Sécurité - Mise au point - Précautions - Solutions
    Même sans être paranoïaque, on a tous entendu parler de failles de sécurité, piratage informatique, ...
    AspSmartUpload - Mode d'Emploi
    Le composant ASPSmartUpload (gratuit) permet de gérer les téléchargements de FICHIERS ou de ...
    JavaScript - Contrôler une date saisie dans un formulaire
    HTML - Ajouter un fichier multimédia dans une page web
    HTML - Musique de Fond sur son site
    Afficher ses images à la taille voulue - Utilisation du composant IMGSIZE
    Devant la diversité des formats d'image actuels, il est parfois nécessaire de connaître les ...
    CSS - Icône Personnalisée sur son site
    JavaScript - Interdire Clic Droit et message d'alerte
    CSS - Curseur Personnalisé sur son site
    JavaScript - Fenêtre à la Dimension de l'Ecran
    La gouvernance SharePoint - Partie 1 - Première partie sur la gouvernance dans Sharepoint
    Un projet de mise en place de ferme SharePoint est un projet important pour toute structure ...
    ASP - Redimensionner Image + Picto après Upload
    ASP - Administration en ligne : Protection des Pages
    PHP - Administration en ligne : Protection des Pages
    PHP - Redimensionner Image + Picto après Upload
    ASP - Boutons ON OFF pour tout type de musique
    PHP - Boutons ON OFF pour tout type de musique
    SharePoint et OpenSearch - Utiliser l'option OpenSearch avec SharePoint
    Nous avons maintenant un site SharePoint fonctionnel associé à un moteur de recherche efficace. Il ...
    Magazines - Le n°109 de Programmez est disponible
    SharePoint et PowerShell - Utilisation de PowerShell pour un script d'admin
    PowerShell est le nouveau moteur de script de Microsoft. Il permet tout comme VBScript de créer des ...
    [MAJ] [PHP] - Validation de formulaire - Gestion des erreurs via style CSS
    Ajout de la sécurité anti sql injection de premier niveau.
    Adobe - Adobe propose 3 nouvelles versions bêta publiques
    VBScript - Interroger un serveur MYSQL
    Divers - Web developpement
    PHP5 - Copie de fichiers distants
    Les stratégies de Backup dans WSS V3 - Quelles sont les différentes solutions de BackUp
    Nous avons vu au travers des précédents articles différents sujets pour Windows SharePoint Services ...
    Création d'une solution de déploiement SharePoint - Créer la solution pour notre composant SharePoint
    Après avoir suivi toutes les étapes pour la création de notre composant (Feature) SharePoint, il ...
    Magazines - Le n°108 de Programmez est disponible
    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   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     The Inquirer FR ASP-magazine TechNet CodePPC DotNet Project Codes Sources Groupes Utilisateurs Microsoft Wygwam MVP El Roubio