Compteur de visiteurs

Résolu
bonjour j'aimerais créer un compteur de visiteur pour mon site sauf que je sais pas comment codé ca... (php et mySQl possible ^^)

--
Lapinkiller, étudiant en BTS IRIS (informatique et réseaux...)
"La fin du monde n'est pas pour demain, elle est arrivée hier" (Lapinkiller)
Configuration: Firefox 2.0

16 réponses

Résumé de la discussion

Question initiale porte sur la création d'un compteur de visiteurs pour un site, avec PHP et MySQL comme options, et une recherche de méthode adaptée. Plusieurs réponses décrivent des approches variées: compteur basé sur les adresses IP pour limiter à une visite, utilisation de sessions, ou comptage via une base de données, HTML ou PHP. D'autres échanges évoquent l'usage de fichiers comme compteur.txt, le problème des pages HTML non PHP, et la nécessité de créer des tables dans la base pour stocker les IP ou les sessions. En pratique, les échanges signalent aussi des difficultés liées au déploiement (différences HTML vs PHP, permissions, insertion du code dans la page) et à la cohérence entre compteur et type de comptage.

Bobot (l’IA à votre service)
  1. je me suis fiat mon propre compteur avec BDD en utilisant les adresses IPs pour que ca ne compte qu'une seule visite par visiteur
    5
    1. bjr,
      s'il te plait j'ai un projet je réalise un site web. je souhaitte intégrer un compteur de visiteur.
      Peut tu m'aider?
      j'ai que du code html acttuellement sur mon site.
      0
  2. lapinkiller ton compteur est en html ? pourrais tu en partager le code ?^^
    2
    1. non en html tu ne fais que de l'affichage, tu ne peux donc pas faire un compteur, il faut un langage comme du php ou du Javascript...

      voilà le code de mon compteur, par contre je vous demanderai de ne pas le distribuer sans mettre mon nom avec ;) (je n'aime pas les gens qui prenne le travail des gens sans le préciser..)

      <? // Script par Lapinkiller
      mysql_connect("localhost", "user", "password");
      mysql_select_db("bdd"); 
      
      $ip = $_SERVER['REMOTE_ADDR'] ;
      $ip_trouvee = "non" ;
      
      $query= mysql_query("SELECT Ip FROM Compteur");
      
      $visiteurs = mysql_num_rows($query) ;
      
      
      while(($donnees=mysql_fetch_array($query))&($ip_trouvee=="non"))
      {
      	if($ip == $donnees['Ip'])
      	{
      		$ip_trouvee = "oui" ;
      	}
      
      }
      if($ip_trouvee=="non")
      {
      	mysql_query("INSERT INTO Compteur VALUES ('','$ip')");
      }
      echo "$visiteurs Visiteurs" ;
      ?>
      

      Table Compteur 
      2 champ :
      Id : Int
      Ip : VarChar(15)
      
      
      0
    2. @Utilisateur anonymemerci d'avance mais j'ai une question. voilà je ne saiss ou dois je inserer ce code php? sur ma page index ou sur une page appelée. je ne sais si je dois crée une interface qui recevra toutes les reponses du script. vraiment je ne sais quoi faire s'il te plait aide merci.
      0
    3. @versaille21perso j'ai fait un fichier compteur.php, et je l'ai inclu (include('compteur.php')) là où je voulai

      mais tu peux le mettre directement dans ta page si tu veux, les deux sont possibles ;)

      je comprend pas ton histoire d'interface...
      0
    4. @Utilisateur anonymepeux tu m'envoyer ta page pour que je vois comment tu as fait!!!
      merci d'avance.
      0
    5. @versaille21non, mais attends, tu sais faire un copier coller non ? -_-"

      tu prend mon code, et tu le colle juste dans le tien, en le mettant là où tu veux que le nombre de visiteurs apparaisse...

      si tu ne sais pas faire un copier coller mon code entier ne te servira à rien XD

      et je te l'ai di, j'ai fait un include, donc si tu c'est pas faire ca non plus, apprend d'abord le php ;)

      donc en gros j'ai :

      //du code
      include('compteur.php');
      //du code

      voilà ma page ;) et à la place du include, quand on affice la page, y'a le nombre de visiteurs qui s'affiche

      je veux pas être méchant, mais bon y'a une limite à la bétise lol je vois pas comment on pourrai faire plsu simple qu'un copier coller

      il ne faut jsute pas oublier de creer les table dans la BDD? et de modifier mon code pour y mettre les info de connexion à ta BDD ;)
      0
  3. Modérateur
    Pou avoir un compteur de visiteurs, et non de pages vues, il faut utiliser les sessions.
    utilises ce code, à placer avant le moindre code html, et auparavant mets un fichier que tu apelleras 'compteur.txt' à la racine de ton site.
    <?php
    session_start();
    if(!isset($_SESSION['visite']))
    {
      $_SESSION['visite']='';
      $Compteur=fopen($_SERVER['DOCUMENT_ROOT'].'compteur.txt','r+');
      $NbrPagesVues=fgets($monfichier);
      $NbrPagesVues++;
      fseek($Compteur,0);
      fputs($Compteur,$NbrPagesVues);
      fclose($Compteur);
    }
    1
    1. ok merci je vais essayer

      je place ce code dans le <head> ou avant le <head> ?

      et je fais comment pour afficher le compteur sur mon site? (sur la mêmepage ou je veu que les visiteur soir comptes
      un simple "echo $NbrPagesVues" suffit t'il ?

      bonne soirée
      0
  4. Modérateur
    Salut.

    Tu peux utiliser un simple compteur de pages vues, avec un fichier .txt.
    Il y a plusieurs codes sur le net et j'en ai si tu veux.

    Tu peux aussi utiliser MySQl, mais a mon avis ce n'est pas nécéssaire, c'est pour faire des statistiques (heures d'affluence, navigateurs des visiteurs, etc...)
    0
    1. oui je veux bien tes codes stp mais je voudrai un compteur de visiteursi possible et non de visites ou de pages vues
      0
      1. Modérateur
        Pour le code php, il faut le placer avant le moindre code html, même le plus petit espace.
        Si tu as une erreur "headers are already sent by..." c'est que tu as mi du code html avant.

        Oui, tu peux utiliser $NbrPagesVues pour afficher le nombre de Visiteurs.
        0
        1. dois je creer un fichier texte vide ou dois je y mettre quelque chose dedans ?
          0
          1. Modérateur
            Ah oui, j'ai oublié de te dire, tu dois créer un fichier texte avec le chiffre 0 dedans, rien d'autre ;-)
            0
            1. cela ne marche toujours pas... et j'arrive pas à trouver pourquoi
              y'a t il un chmod particulier à mettre sur ce fichier texte ?
              0
              1. Modérateur
                Oui, il faut mettre 777.
                0
                1. ca m'enerve ca ne marche toujours pas...

                  est ce que le fait que ce soit une page web .html qui y fasse quelque chose ?
                  0
                  1. Modérateur
                    Le fichier pour le compteur qui ouvre le fichier texte et le met à jour doit être avec l'extension .php.
                    Le fichier ou le nombrede visiteurs est inscrit doit être en .txt, et ne comporter que le nombre, pas un retour à la ligne ni un espace.
                    Ca peut aussi venir du fait que le chmod est désactivé chez ton hébergeur.
                    Chez free c'est le cas.
                    0
                    1. j'aimodifierle chmodmais en fait je crois queca vie,nt du fait quemes pages sont en .html et non en.php

                      j'esaerai de modifier mais plus tard car faura que je modifie sur toutes les pages car sinon j'aurai des liens invalides... mais bon, je ferai un essai aujoud'hui pour te dire si ca marche...
                      0
                      1. svp aidez moi
                        je sais pas si c ' est possible mais j ' aimerai placer un compteur sur skyblog

                        répondez moi SVP

                        Mélanie
                        0
                        1. pouvez vous m'aider je ne sais pas comment mettre un compteur de visiteur sur IziSpot??

                          merci d'anvance
                          0
                          1. Compter les visiteur par IP n'est pas très logique quand on sait que des milliers de gens se connecte via une connexion partagé : réseau (privé / d'entreprise / public), certains villages étant tous relié par wifi tout le village a la meme IP. Ces gens là ne seront pas compté, à l'inverse tous les gens disposant d'une connexion à adresse IP changeante seront recompté à tort...
                            0