Partage
  • Partager sur Facebook
  • Partager sur Twitter

Nombre de visiteurs

effacé après 24h

    31 décembre 2005 à 14:56:46

    Bonjour à tous,
    je voudrais créer un système qui afficherait le nombre de visiteurs. Je voudrais que si un visiteur vient plusieurs fois sur une journée, ca ne compte que pour une seule visite. Il faut donc que je supprime ce visiteur de la base de données 24h00 après sa première visite. Le problème est que si je l'efface, sa visite ne sera pas comptée... Je ne sais pas si je me suis bien exprimé, si ce n'est pas le cas dite le moi j'essayerai de reformuler autrement.
    Donc si vous pourriez m'expliquer comment faire pour faire ce compteur de visite qui ne compte un visiteur qu'une fois toute les 24h00.

    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      31 décembre 2005 à 14:59:26

      montre ton code que tu as déjà écrit stp
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        31 décembre 2005 à 15:01:10

        Tu fais une entrée dans table où il y a le nombre de visiteur et à chaque fois qu'il y a un nouveau visiteur tu l'incremente.
        • Partager sur Facebook
        • Partager sur Twitter
          31 décembre 2005 à 15:01:32

          Je n'ai encore rien écrit, je réfléchi comment je pourrais le faire.

          Edit : Arthas -> Mais si je fais comme ca, le nombre de visite augmentera meme lorsque le meme visiteur visionne une autre page du site.
          • Partager sur Facebook
          • Partager sur Twitter
            31 décembre 2005 à 15:05:25

            inspire toi du TP de nombre de connecté de mateo, mais au lieu d un timestamp de 5min, tu mets un timestamp de 24heure ;)
            • Partager sur Facebook
            • Partager sur Twitter
              31 décembre 2005 à 15:05:34

              Citation : Hooli

              Je n'ai encore rien écrit, je réfléchi comment je pourrais le faire.

              Edit : Arthas -> Mais si je fais comme ca, le nombre de visite augmentera meme lorsque le meme visiteur visionne une autre page du site.



              tu regarde si l'ip est déjà enregistré :
              si l'ip existe tu n'increment pas sinon tu incrémente...
              • Partager sur Facebook
              • Partager sur Twitter
                31 décembre 2005 à 15:05:57

                Tu fais une table visiteurs avec ip et timesamp comme colonne.
                A chaque visiteur tu commence par suprimmer les lignes dont le timesamp date d'il y a plus de 24h et tu vérifies si l'ip du visiteur est déjà présente.
                Si ce n'est pas le cas tu l'insère dans la table.
                Si c'est le cas tu ne fais rien.

                Il te suffit ensuite de faire un count sur la table et tu obtiendras le nombre de visiteurs ces dernières 24h.

                Tu peux contrer les ip dynamique en envoyant éventuellement un cookie avec un timsamp dedans.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  31 décembre 2005 à 15:07:46

                  Citation : Mathieu White


                  Il te suffit ensuite de faire un count sur la table et tu obtiendras le nombre de visiteurs ces dernières 24h.


                  C'est justement ce qu'il ne veut pas faire. :p
                  • Partager sur Facebook
                  • Partager sur Twitter
                    31 décembre 2005 à 15:09:22

                    Dans ce cas la il faut qu'il utilise l'autre méthode que j'ai indiquée, en incrémentant le nombre que s'il n'y a pas le cookie ou que le cookie envoyé l'a été il y a plus de 24h.
                    Dans le cas ou il dépasse les 24h on décrémente.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 décembre 2005 à 15:10:47

                      J'ai du mal m'exprimer, excusez moi.
                      Ce que je voudrais c'est un compteur de visite qui donne le nombre de visite depuis le lancement du site. Mais je voudrais que le compteur soit semi-unique, que si le visiteur rafraichisse la page, le compteur n'augmente pas. Et puis qu'après 24h00 de la première vsite du visiteur, le compteur augmente, puis de nouveau 24h00 avant que le compteur n'augmente de nouveau pour ce meme visiteur.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        31 décembre 2005 à 15:11:52

                        Mais ca te dérange d'utiliser un count ou pas?
                        Car si ca ne te dérange pas ce n'est pas très compliqué, dans le cas contraire il faudra passer par les cookies.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          31 décembre 2005 à 15:15:05

                          Non, ca ne me dérange pas d'utiliser un count mais en utilisant un count, la première visite du visteur ne sera pas comptée vu qu'elle a été éffacée après 24h. C'est vrai que l'utilisation de cookies peut etre une bonne idéee, je ne m'y connais pas trop la dedans alors je vais essayer de me renseigner.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            31 décembre 2005 à 15:18:23

                            Ben si tu n'as qu'a pas l'effacer après 24h je pensais au départ que tu souhaitais faire un compteur de membre qui sont venus dans les 24h, mais si c'est depuis la création il te suffit de regarder si l'ip se situe dans la table, si c'est le cas on regarde le timesamp le plus récent, si il date de il y a plus de 24h tu insères une nouvelle ligne.

                            Mais bon ca va pas être très pratique, a la limite il vaut mieux opter pour une solution avec les cookies mais en sachant que si le visiteur n'accepte pas les cookies les données seront faussés.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              31 décembre 2005 à 15:18:55

                              Bon sa ressemble un peu à rien mais ça marche, et je pense que c'est à peu près ce que tu veux ^^
                              function connectesjour()
                              {connexiondb();
                              $ip=$_SERVER['REMOTE_ADDR'];
                              $test="0" ;
                              $connectes=0 ;
                              $total=0 ;
                              $timestamp=mktime();
                              $jour=date("d/m/Y", $timestamp);
                              $temp=mysql_query("Select * from connectesjour where ip='$ip'") ;
                              while(mysql_fetch_array($temp))
                               {$test++ ;}
                              if($test=="0")
                               {mysql_query("Insert into connectesjour values ('$ip', '$jour')") ; }
                              $temp2=mysql_query("Select * from connectesjour") ;
                              while(mysql_fetch_array($temp2))
                               {$total++ ; }
                              $temporaire=mysql_query("Select * from connectesjour where jour='$jour'");
                              while(mysql_fetch_array($temporaire))
                               {$connectes++ ; }
                              echo ' Il y a eu '.$total.' visiteurs qui ont visité ce site dont '.$connectes.' aujourd\'hui.' ;
                              mysql_close () ; }


                              Désolé mais la flem de recoder, je l'ai fait y a un petit moment ce qui explique l'état du code (mais il marche) ^^

                              EDIT : Tu peux modifier le premier query pour rajouter une autre option au where. (where jour='$jour')
                              • Partager sur Facebook
                              • Partager sur Twitter
                                31 décembre 2005 à 15:22:41

                                Merci A-spec59, je vais essayer avec ton code ;)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  31 décembre 2005 à 15:25:51

                                  Oublie pas de remplacer ma fonction que j'ai faite moi-même (connexiondb() ) par ta manière de te connecter à ta BDD. Le script là n'est qu'une fonction, il faut faire un appel de fonction donc pour voir le résultat.
                                  Table pour le script : connectesjour
                                  Champ : ip (varchar)
                                  jour (varchar)

                                  EDIT : j'arrive à 300 visites uniques par jour, ce qui correspond à peu près, donc je pense que ça marche ^^

                                  EDIT 2 : sa a marché ou pas ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Nombre de visiteurs

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown