Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2230 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  compteur pr site

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

compteur pr site

n°1379193
tiboc59
Posté le 01-06-2006 à 18:06:32  profilanswer
 

bonjour,
 
j'aimerais savoir comment intégrer un compteur de visites pour mon site web s'il vous plait?

mood
Publicité
Posté le 01-06-2006 à 18:06:32  profilanswer
 

n°1379236
doudouche
Posté le 01-06-2006 à 18:49:19  profilanswer
 

voila c tt simple c écrit la ;)
http://www.compteur.com/aide.php3
Bonne chance et bonne lecture.

n°1379504
tiboc59
Posté le 02-06-2006 à 09:40:22  profilanswer
 

merci mais moi je voudrais le code pour qu'il se génére lui-meme et pas en lien avec un site externe.
????

n°1379508
Glock21
Yark !
Posté le 02-06-2006 à 09:42:21  profilanswer
 

Voilà une solution proposée par M@téo pour compter le nombre de visiteurs connectés :  
http://www.siteduzero.com/tuto-3-1 [...] ectes.html
 
Et voila une solution pour compter le nombre de visiteurs :
http://www.siteduzero.com/tuto-3-5 [...] mysql.html
 
@+++

Message cité 1 fois
Message édité par Glock21 le 02-06-2006 à 09:47:27

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1379543
aipsy0783
Posté le 02-06-2006 à 10:17:19  profilanswer
 

tu utilises une détection d'IP et tu as donc une incrémentation d'un visiteur/jour/Ip

n°1379569
Glock21
Yark !
Posté le 02-06-2006 à 10:32:48  profilanswer
 

Citation :

Le cookie sert à vérifier si le visiteur a déjà été compté il y a moins de x minutes. On va profiter d'une propriété du cookie : sa date d'expiration. Autrement dit, au bout d'un certain temps (que vous fixez) le cookie est effacé automatiquement et la visite de la page est considérée comme nouvelle. C'est l'astuce de ce compteur

Sur les second lien. ;)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1379575
aipsy0783
Posté le 02-06-2006 à 10:38:43  profilanswer
 

pffff mdr l'utilisation des cookies, ya plus simple qd meme avec du php

n°1379577
Glock21
Yark !
Posté le 02-06-2006 à 10:41:29  profilanswer
 

Sans doute, mais je me souvenais avoir vu ça quelque part, j'ai donc donné le lien qui me semblais bon. Si il y a plus simple, n'hésite pas a l'aider ! ;)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1379599
aipsy0783
Posté le 02-06-2006 à 10:53:05  profilanswer
 

J'ai pas trop le temps pour me perdre en explications alors voici mes sources ;) à lui de les interpréter.
Bien sur il s'agit là d'un délais d'un jour, nan d'une durée entre deux incrémentations réglable mais c'est tout à fait possible en faisant une table avec un DATETIME et comparer l'heure actuelle... à méditer
 

Code :
  1. <?PHP
  2. class compteur
  3. {
  4.   var $langue;
  5.   var $ip;
  6.   function compteur($langue)
  7.   {
  8.     $this->langue = $langue;
  9.     $this->setIp();
  10.     $this->present();
  11.   }
  12.  
  13.   function setIp()
  14.   {
  15.     if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
  16.     {
  17.       $this->ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  18.     }
  19.     elseif(isset($_SERVER['HTTP_CLIENT_IP']))
  20.     {
  21.       $this->ip = $_SERVER['HTTP_CLIENT_IP'];
  22.     }
  23.     else
  24.     {
  25.       $this->ip = $_SERVER['REMOTE_ADDR'];
  26.     }
  27.   }
  28.  
  29.   function present()
  30.   {
  31.     $requete = "SELECT * FROM SDL_Ip WHERE Ip='".$this->ip."' AND Jour='".date("Y-m-d" )."'";
  32.     $resultat = mysql_query($requete) or die('Erreur SQL !<br>Requete : '.$requete.'<br>'.mysql_error());
  33.     if ($ligne = mysql_fetch_assoc($resultat)) $this->update($ligne["Fois"]);
  34.     else $this->ajouter();
  35.   }
  36.   function update($intensite)
  37.   {
  38.     $intensite++;
  39.     $requete = "UPDATE SDL_Ip SET Fois=".$intensite." WHERE Ip='".$this->ip."' AND Jour='".date("Y-m-d" )."'";
  40.     $appliquer = mysql_query($requete) or die('Erreur SQL !<br>Requete : '.$requete.'<br>'.mysql_error());
  41.    
  42.     if (session_is_registered('SDL'))
  43.     {
  44.       $idsession = session_id();
  45.       echo "#".$idsession."#";
  46.       $requeteM = "SELECT * FROM SDL_Membres WHERE Session='$idsession'";
  47.       $resultatM = mysql_query($requeteM) or die('Erreur SQL !<br>Requete : '.$requeteM.'<br>'.mysql_error());
  48.       $ligneM = mysql_fetch_assoc($resultatM);
  49.       $idMembre = $ligneM['IdMembre'];
  50.       $requeteI = "UPDATE SDL_Ip SET IdMembre=".$idMembre." WHERE Ip='".$this->ip."' AND Jour='".date("Y-m-d" )."'";
  51.       $appliquerI = mysql_query($requeteI) or die('Erreur SQL !<br>Requete : '.$requeteI.'<br>'.mysql_error());
  52.     }
  53.   }
  54.   function ajouter()
  55.   {
  56.     if (session_is_registered('SDL'))
  57.     {
  58.       $idsession = session_id();
  59.       $requeteM = "SELECT * FROM SDL_Membres WHERE Session='$idsession'";
  60.       $resultatM = mysql_query($requeteM) or die('Erreur SQL !<br>Requete : '.$requeteM.'<br>'.mysql_error());
  61.       $ligneM = mysql_fetch_assoc($resultatM);
  62.       $idMembre = $ligneM['IdMembre'];
  63.     }
  64.     else $idMembre = 0;
  65.     $requeteI = "INSERT INTO SDL_Ip (IdIp,Ip,IdMembre,Jour,Fois) VALUES ('','$this->ip','$idMembre','".date("Y-m-d" )."','0')";
  66.     $appliquerI = mysql_query ($requeteI) or die('Erreur SQL !<br>Requete : '.$requeteI.'<br>'.mysql_error());
  67.   }
  68.   function printCompteur()
  69.   {
  70.     $requete = mysql_query('SELECT IdIp FROM SDL_Ip');
  71.     $resultat = mysql_numrows($requete);
  72.     echo"
  73.                 <p style='font-size:13px;'>Nombre de visiteurs : ".$resultat."</p>";
  74.   }
  75. }
  76. ?>

Message cité 1 fois
Message édité par aipsy0783 le 02-06-2006 à 10:54:48
n°1379620
Hermes le ​Messager
Breton Quiétiste
Posté le 02-06-2006 à 11:02:59  profilanswer
 

aipsy0783 a écrit :

J'ai pas trop le temps pour me perdre en explications alors voici mes sources ;) à lui de les interpréter.
Bien sur il s'agit là d'un délais d'un jour, nan d'une durée entre deux incrémentations réglable mais c'est tout à fait possible en faisant une table avec un DATETIME et comparer l'heure actuelle... à méditer
 

Code :
  1. <?PHP
  2. class compteur
  3. {
  4.   var $langue;
  5.   var $ip;
  6.   function compteur($langue)
  7.   {
  8.     $this->langue = $langue;
  9.     $this->setIp();
  10.     $this->present();
  11.   }
  12.  
  13.   function setIp()
  14.   {
  15.     if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
  16.     {
  17.       $this->ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  18.     }
  19.     elseif(isset($_SERVER['HTTP_CLIENT_IP']))
  20.     {
  21.       $this->ip = $_SERVER['HTTP_CLIENT_IP'];
  22.     }
  23.     else
  24.     {
  25.       $this->ip = $_SERVER['REMOTE_ADDR'];
  26.     }
  27.   }
  28.  
  29.   function present()
  30.   {
  31.     $requete = "SELECT * FROM SDL_Ip WHERE Ip='".$this->ip."' AND Jour='".date("Y-m-d" )."'";
  32.     $resultat = mysql_query($requete) or die('Erreur SQL !<br>Requete : '.$requete.'<br>'.mysql_error());
  33.     if ($ligne = mysql_fetch_assoc($resultat)) $this->update($ligne["Fois"]);
  34.     else $this->ajouter();
  35.   }
  36.   function update($intensite)
  37.   {
  38.     $intensite++;
  39.     $requete = "UPDATE SDL_Ip SET Fois=".$intensite." WHERE Ip='".$this->ip."' AND Jour='".date("Y-m-d" )."'";
  40.     $appliquer = mysql_query($requete) or die('Erreur SQL !<br>Requete : '.$requete.'<br>'.mysql_error());
  41.    
  42.     if (session_is_registered('SDL'))
  43.     {
  44.       $idsession = session_id();
  45.       echo "#".$idsession."#";
  46.       $requeteM = "SELECT * FROM SDL_Membres WHERE Session='$idsession'";
  47.       $resultatM = mysql_query($requeteM) or die('Erreur SQL !<br>Requete : '.$requeteM.'<br>'.mysql_error());
  48.       $ligneM = mysql_fetch_assoc($resultatM);
  49.       $idMembre = $ligneM['IdMembre'];
  50.       $requeteI = "UPDATE SDL_Ip SET IdMembre=".$idMembre." WHERE Ip='".$this->ip."' AND Jour='".date("Y-m-d" )."'";
  51.       $appliquerI = mysql_query($requeteI) or die('Erreur SQL !<br>Requete : '.$requeteI.'<br>'.mysql_error());
  52.     }
  53.   }
  54.   function ajouter()
  55.   {
  56.     if (session_is_registered('SDL'))
  57.     {
  58.       $idsession = session_id();
  59.       $requeteM = "SELECT * FROM SDL_Membres WHERE Session='$idsession'";
  60.       $resultatM = mysql_query($requeteM) or die('Erreur SQL !<br>Requete : '.$requeteM.'<br>'.mysql_error());
  61.       $ligneM = mysql_fetch_assoc($resultatM);
  62.       $idMembre = $ligneM['IdMembre'];
  63.     }
  64.     else $idMembre = 0;
  65.     $requeteI = "INSERT INTO SDL_Ip (IdIp,Ip,IdMembre,Jour,Fois) VALUES ('','$this->ip','$idMembre','".date("Y-m-d" )."','0')";
  66.     $appliquerI = mysql_query ($requeteI) or die('Erreur SQL !<br>Requete : '.$requeteI.'<br>'.mysql_error());
  67.   }
  68.   function printCompteur()
  69.   {
  70.     $requete = mysql_query('SELECT IdIp FROM SDL_Ip');
  71.     $resultat = mysql_numrows($requete);
  72.     echo"
  73.                 <p style='font-size:13px;'>Nombre de visiteurs : ".$resultat."</p>";
  74.   }
  75. }
  76. ?>



 
Utiliser une BDD pour un vulgaire compteur ?  :o  
 
Un simple fichier texte suffit amplement genre :
 
[visite][ip]127.0.0.1[/ip][referer]http://www.google.fr[/referer][timestamp]1226456456645[/timestamp][/visite]

mood
Publicité
Posté le 02-06-2006 à 11:02:59  profilanswer
 

n°1379638
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-06-2006 à 11:12:55  profilanswer
 

Hermes le Messager a écrit :

Utiliser une BDD pour un vulgaire compteur ?  :o  
 
Un simple fichier texte suffit amplement genre :
 
[visite][ip]127.0.0.1[/ip][referer]http://www.google.fr[/referer][timestamp]1226456456645[/timestamp][/visite]


Surtout que le code plus haut sans la structure des tables, c'est a peu près aussi utile qu'une palourde séchée [:spamafote]

n°1379646
aipsy0783
Posté le 02-06-2006 à 11:17:18  profilanswer
 

ton fichier texte lool ma base prende en compte le nombre de rechargement des pages pour voir si les visiteurs font que passer ou s'intéressent au site
 
un fichier texte lool arrete de faire ton caké

n°1379647
Glock21
Yark !
Posté le 02-06-2006 à 11:17:36  profilanswer
 

Citation :

Surtout que le code plus haut sans la structure des tables, c'est a peu près aussi utile qu'une palourde séchée [:spamafote]


lol ! J'ajouterai que l'utilisation d'un cookie n'est pas hyper complexe, et qu'elle permet une meilleur gestion...


Message édité par Glock21 le 02-06-2006 à 11:18:35

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1379654
aipsy0783
Posté le 02-06-2006 à 11:18:53  profilanswer
 

ouais fo just que tu les balance dans le header

n°1379660
Glock21
Yark !
Posté le 02-06-2006 à 11:21:37  profilanswer
 


 
En suivant ce ptit tuto, c'est vraiment hyper simple. :)  
 


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1379732
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-06-2006 à 12:26:34  profilanswer
 

aipsy0783 a écrit :

ton fichier texte lool ma base prende en compte le nombre de rechargement des pages pour voir si les visiteurs font que passer ou s'intéressent au site
un fichier texte lool arrete de faire ton caké


C'est pas parce que je fais 25 fois "reload" que je suis interessé par ta collection de gallets-peints [:spamafote]
Les logs d'apache sont dans un fichier texte, pas dans une base de donnée. Penses-tu que ton système soit meilleur que celui d'apache(puisqu'il utilise un fichier texte)?
 

aipsy0783 a écrit :

ouais fo just que tu les balance dans le header


avec des 'fo juste' on peut faire n'importe quoi :o
 
Par ailleurs merci d'essayer d'écrire un français semi-correct ( j'en demande pas plus), parce que là c'est limite.
J'en profite pour te rappeler les règles du forum avant que tu me sorts un "STFU, kikoo asv lol, tsépa parlais":

Citation :


[11] Les sujets et contenus des messages doivent être francisés dans la mesure du possible.
 
    * L'anglais est la langue commune de l'informatique, mais on peut tout exprimer en français, et aussi bien. N'hésitez pas à demander des traductions sur des termes si vous en éprouvez le besoin.  
 
 
[12] Rédigez vos messages de manière lisible.
 
    * Dans l'intérêt de tous, il est fortement conseillé de rédiger son post de manière claire, et d'éviter le style SMS suivant : « jé un pb : jariv po a lansé mon log il me sort une ereur ke je pige pas. un coupe de main pliz thx ».
    * C'est pas pour faire plaisir à Maitre Capello, mais uniquement pour obtenir un maximum de réponses. Voyant un message rédigé comme ça, pas mal de gens n'ont pas du tout envie de le lire et encore moins d'y répondre. Donc si vous voulez obtenir des réponses, faites un minimum d'efforts pour rédiger votre demande.
    * De plus, faire une recherche sur ce genre de topic est quasiment impossible : comment deviner qu'il faut entrer de l'esperanto dans la zone de recherche pour trouver ce topic qu'on cherche depuis tant de temps ?
    * Tout topic rédigé dans ce style sera dans un premier temps fermé, et s'il souhaite le reposter, le posteur devra réécrire correctement son topic. Le topic précédent sera alors supprimé pour éviter le double emploi. Si la deuxième formulation est aussi incompréhensible que la première, un séjour chez les télétubbies permettra au dit posteur de bucher son précis d'orthographe.
    * Il ne s'agit pas d'écrire un prix Pullitzer, mais uniquement d'adopter un style de rédaction clair afin que tout le monde ait envie de lire le topic et éventuellement d'y répondre.


n°1379734
aipsy0783
Posté le 02-06-2006 à 12:30:20  profilanswer
 

Bonjour monsieur, dans un langage non franchisé je vais simplement te dire que des lamas comme toi il en existe des tas sur ce genre de forums. Si tu as besoin de reconnaissance trouve un autre moyen.

n°1379736
aipsy0783
Posté le 02-06-2006 à 12:31:56  profilanswer
 

Le gars qui refait le monde avec des fichiers .txt sans prendre en compte les accès multiples, ce que les databases font avec des rollbacks et commit, qui se la pète, on en a pas besoin ici.

n°1379741
Glock21
Yark !
Posté le 02-06-2006 à 12:47:19  profilanswer
 

Citation :

Remeber the message, brother : Peace & Love...
 
Max Romeo

:ange:


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1379742
aipsy0783
Posté le 02-06-2006 à 12:48:50  profilanswer
 

lool I'm a sister, this message is not for me  :sol:


Message édité par aipsy0783 le 02-06-2006 à 12:49:07
n°1379750
Glock21
Yark !
Posté le 02-06-2006 à 12:53:23  profilanswer
 

:D


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1379757
0x90
Posté le 02-06-2006 à 13:03:08  profilanswer
 

aipsy0783 a écrit :

Le gars qui refait le monde avec des fichiers .txt sans prendre en compte les accès multiples, ce que les databases font avec des rollbacks et commit, qui se la pète, on en a pas besoin ici.


 
Non mais t'as pas un peu l'impression que c'est de la branlette l'accès concurrent pour le site d'une personne qui visiblement sait à peine coder ? Sans compter le fait que si t'as de réels et significatifs problèmes de concurrences sur un compteur de visite, je doute que la lourdeur de ton tas de requète fasse beaucoup de bien au serveur.
Enfin j'aimerais bien voir ou ils sont tes rollbacks/commits dans ton code ... Il se passe quoi s'il y a 2 appels à present() venant de la même IP suffisement proche pour que la requète du second soit exécutée avant que le 1er appel ajouter() ?


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1379770
Hermes le ​Messager
Breton Quiétiste
Posté le 02-06-2006 à 13:21:32  profilanswer
 

aipsy0783 a écrit :

ton fichier texte lool ma base prende en compte le nombre de rechargement des pages pour voir si les visiteurs font que passer ou s'intéressent au site
 
un fichier texte lool arrete de faire ton caké


 
Ben oui, un fichier texte et une regexp POSIX. c'est nettement moins lourd que d'utiliser une base SQL.  
 
Ensuite, sur le principe, sache que j'ai quand même pondu un CMS qui repose entièrement sur des fichiers textes.
 
Les avantages :
 
- plus secure (ben oui, les mecs qui s'amusent avec des injections SQL peuvent s'amuser longtemps).
- Plus portable (ben oui, RAB de la présence d'une BDD sur un hébergement, ni de son num de version).
- Plus facilement importable/exportable (moi quand je sauve un de mes sites, je sauve tout en même temps).
 
Les BDD c'est bien pour :  
 
- Des forums.
- Des applications avec par exemple liste de produits, prix etc...
 
Les 9/10° du temps, l'emploi d'une BDD usine à gaz comme mySQL est complêtement injustifiée.

n°1379799
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-06-2006 à 13:48:29  profilanswer
 

aipsy0783 a écrit :

Bonjour monsieur, dans un langage non franchisé je vais simplement te dire que des lamas comme toi il en existe des tas sur ce genre de forums. Si tu as besoin de reconnaissance trouve un autre moyen.


 :love:  

aipsy0783 a écrit :

Le gars qui refait le monde avec des fichiers .txt sans prendre en compte les accès multiples, ce que les databases font avec des rollbacks et commit, qui se la pète, on en a pas besoin ici.


1- C'est toi qui sort un code "c'est moi qui la fait c'est trop bien" comme la meilleure solution ( code qui en l'état ne peut pas fonctionner vu que tu ne donnes pas la structure de la base utilisée)
2- Tu n'expliques en rien pourquoi TA solution via une base de donnée et mieux qu'un fichier texte ( au contraire d'Hermes par exemple)
Et puis c'est vrai que les "gars" qui posent des questions comme les tiennes c'est des w3bl33t 0veRl0rd:
http://forum.hardware.fr/hardwaref [...] 1514-1.htm
 

n°1379835
Hermes le ​Messager
Breton Quiétiste
Posté le 02-06-2006 à 14:12:23  profilanswer
 
n°1379896
aipsy0783
Posté le 02-06-2006 à 14:35:13  profilanswer
 

déjà je suis pas un gars, de deux si tu sais pas y répondre t qu'un gland

n°1379897
aipsy0783
Posté le 02-06-2006 à 14:36:26  profilanswer
 
n°1379905
Hermes le ​Messager
Breton Quiétiste
Posté le 02-06-2006 à 14:39:09  profilanswer
 

aipsy0783 a écrit :

déjà je suis pas un gars, de deux si tu sais pas y répondre t qu'un gland


 
Que tu sois ou non un gars, va falloir un peu calmer ta joie si tu veux rester parmi nous.  :heink:  
 

n°1379907
aipsy0783
Posté le 02-06-2006 à 14:42:37  profilanswer
 

c'est vrai que ça a l'air très intéressant comm forum, je connais plus performant comme communauté

n°1379910
0x90
Posté le 02-06-2006 à 14:44:13  profilanswer
 

Réponds à la question sur ta gestion des rollback :)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1379912
Hermes le ​Messager
Breton Quiétiste
Posté le 02-06-2006 à 14:46:18  profilanswer
 

0x90 a écrit :

Réponds à la question sur ta gestion des rollback :)


 
Ah oui tiens moi aussi ça m'intéresse.  :D  
 
Comme cela le pauvre débutant que je suis pourra enfin arrêter d'utiliser bêtement de ridicules fichiers textes dans ses applications.  :jap:  

n°1379925
Glock21
Yark !
Posté le 02-06-2006 à 14:55:07  profilanswer
 

tiboc59 a écrit :

bonjour,  
   
j'aimerais savoir comment intégrer un compteur de visites pour mon site web s'il vous plait?


Je ne suis pas la depuis longtemps, même pas du tout, mais il me semble interessant de préciser que le pauvre tiboc59 doit avoir un peu les boules d'avoir créé ce topic... Il voulait juste un peu d'aide...[:albator] Et là, ça fini par faire un peu pollué... Mais bon, je suis pas modo, donc si ma remarque vous semble déplacée, j'en suis désolé. :sweat:


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
n°1379926
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-06-2006 à 14:57:47  profilanswer
 

aipsy0783 a écrit :

déjà je suis pas un gars, de deux si tu sais pas y répondre t qu'un gland


 :love:  

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  compteur pr site

 

Sujets relatifs
compteur pour sitecompteur de site
Cherche service de compteur pour siterecherche site langage html livre d'or compteur etc
aide : problème pour un compteur de visiteur sur un sitecompteur gratuit pour mon site
compteur gratuit pour mon site (aide svp)Comment mettre un compteur de visite sur un site fait au bloc note ??
Compteur de visiteur présent sur le sitebesoin d'un compteur pour un site
Plus de sujets relatifs à : compteur pr site


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR