Accueil
Forums
Turoriaux
Inscription
Connexion
Fil RSS
Bienvenue invité !
Dimanche 07 Septembre 2008
Vous êtes ici: Crea-paradise.com > Tutoriaux > Conception web > PHP > Compteur visiteur unique

Compteur visiteur unique



Informations sur le tutorial
Image du tutorial Auteur : Volkow Commentaires : 2
Note : Note: 1/5 Vu : 594
Date : 14/06/2008 à 10h24 Actions : Commenter et noter ce tutorial
Dernière modification : 19/06/2008 à 16h37


Qui n'a jamais eu envie de savoir le nombre de visiteurs qui viennent sur son site? Perso, moi j'adore faire des scripts qui servent à rien pour compter le nombre de visiteurs, les regrouper par pays, voir le nombre de fois qu'il reviennent sur mon site, ...

Et bien aujourd'hui je vais vous apprendre à faire un de ces scripts qui sert à rien (:P). C'est parti...

Première étape ==> Création de la table:

Je créé une table nommée compteur_tbl dans ma base de données:

Code MYSQL:
 
CREATE TABLE `compteur_tbl` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `ip` INT(11) NOT NULL,
  `visites` INT(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=40 ;
 


- un champ id auto incrémenté pour numéroter chaque ip.
- un champ ip où le script enregistrera l'ip du visiteur.
- un champ visites qui comptabilisera le nombre de visites pour chaque visiteur.

Deuxième étape ==> Création du script PHP:

Code PHP:
 
$ip = $_SERVER['REMOTE_ADDR'];
 

==> capture de l'ip du visiteur dans la variable $ip.

Code PHP:
 
$dotted = preg_split( "/[.]+/", $ip);
$ip2 = (double) ($dotted[0]*16777216)+($dotted[1]*65536)+($dotted[2]*256)+($dotted[3]);
 

==> on enlève les points qui séparent chaque nombre afin de pouvoir l'enregistrer dans la table.

Code PHP:
 
// on regarde si l'ip existe déjà
    $sql = "SELECT id FROM compteur_tbl WHERE ip='$ip2'";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    
    <span class="vertc">// on compte le nombre de résultats

    $res = mysql_num_rows($req);
 
    if($res!=0) //l'ip existe déjà on met à jour la table concernant l'ip capturée en y ajoutant +1 dans le champs "visites"
        {
$sql = "UPDATE compteur_tbl SET visites=visites+1 WHERE ip='$ip2'";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
        }
    else  // L'ip n'existe pas encore dans la table, on insère donc les informations la concernant (id,ip,visites). Pour le champ "id", pas besoin de le spécifier dans le INSERT, vu qu'il est auto incrémenté il se rajoute tout seul
        {
$sql = "INSERT INTO compteur_tbl (ip,visites) VALUES ('$ip2', '1')";
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
</span></span></span></span>

==> le script regarde dans la table si l'ip y est déjà ou pas. S'il elle existe déjà, il rajoute 1 dans le champ visite de l'ip concernée. Si elle n'a pas encore été enregistrée dans la table, c'est à dire que le visiteur vient pour la première fois, le script l'enregistre dans la table.
Code PHP:
 
$message = "Il y a eu un nouveau visiteur sur VKXFree.n
Son IP: $ip2 n
http://crea-paradise.com";
 
  
   $headers ='From: "CreaParadise"<compteur@cp.com>'."n";
   $headers .='Reply-To: cp@laposte.net'."n";
   $headers .='Content-Type: text/plain; charset="iso-8859-1"'."n";
   $headers .='Content-Transfer-Encoding: 8bit';
  
     mail('cp@laposte.net', 'Nouveau visiteur', $message, $headers);
 

==> petit bonus, ça c'est du kitsch script, c'est pour ceux qui veulent savoir immédiatement si un nouveau visiteur est venu sur son site: le script envoi un mail de notification pour chaque ip unique.

Voilà, j'espère que ce script vous plaira et vous servira.

A+,
Volkow


2 commentaires



> Posté le : 17/07/2008 à 19h23 | Note : Note: 1/5
Avatar de Never


Groupe : Membres



Never @ Thibault

LuxSound en création .

Administrer son site en deux fichiers PHP.
> Posté le : 22/07/2008 à 20h24 | Note : Aucune
Avatar de f0ll3


Groupe : Admins


Les commentaires comme le tien, Never, seraient à éviter 

Crea-Paradise, Créateurs de Rêve ...




1