Bonjour à tous,
Nous voila pour un nouveau tutoriel, ce tutoriel va consister a créer un compteur de connectés pour votre site web.
Le fonctionnement de ce compteur de visiteurs en ligne est très simple, une personne sera jugée connectée pendant les 5 minutes suivant l'ouverture de la dernière page.
Dans ce petit script nous allons utiliser l'adresse IP du visiteur pour le reconnaître. À chaque fois que le visiteur vas ouvrir une page, nous allons changer le "timestamp" de sa dernière activité au "timestamp" actuel.
Nous allons aussi supprimer toutes les entrées qui dates de plus de 5 minutes.
Et finalement, nous allons compter le nombre d'entrées.
Avant de commencer, vous devez créer une table "cpt_connectes" avec deux champs "ip" et "timestamp".
Vous pouvez aussi le faire automatiquement en exécutant code code SQL :
CREATE TABLE `cpt_connectes` (
`ip` varchar(255) collate latin1_german2_ci NOT NULL,
`timestamp` varchar(255) collate latin1_german2_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci;
Pour exécuter ce code il vous suffit de copier le code, le copier dans un éditeur quelconque par exemple Notepad++, puis enregistrer en par exemple "db.sql" le ".sql" est très important, par contre "db" vous pouvez le remplacer par ce que vous voulez.
Ensuite, aller sur votre base de donnés. Moi, PHPMyAdmin.
Cliquer sur Importer, importer votre fichier, puis exécuter et encore exécuter.
Votre table a donc était créer, ainsi les champs sont complétés, vous avez finis avec le SQL.
Puis voici le code PHP a mettre sur la page en question pour le compteur de visiteurs en ligne sur votre site :
Donc vous devez remplacer :
- localhost(Vous devez remplacer par le nom de l'hôte.)
- username (Vous devez remplacer par le nom d'utilisateur.)
- password(Vous devez mettre votre mot de passe de connexion à la base de données.)
- database(Vous devez indiquer le nom de votre base de données)[/PHP][/URL]
Voilà ! ;D
Nous voila pour un nouveau tutoriel, ce tutoriel va consister a créer un compteur de connectés pour votre site web.
Le fonctionnement de ce compteur de visiteurs en ligne est très simple, une personne sera jugée connectée pendant les 5 minutes suivant l'ouverture de la dernière page.
Dans ce petit script nous allons utiliser l'adresse IP du visiteur pour le reconnaître. À chaque fois que le visiteur vas ouvrir une page, nous allons changer le "timestamp" de sa dernière activité au "timestamp" actuel.
Nous allons aussi supprimer toutes les entrées qui dates de plus de 5 minutes.
Et finalement, nous allons compter le nombre d'entrées.
Avant de commencer, vous devez créer une table "cpt_connectes" avec deux champs "ip" et "timestamp".
Vous pouvez aussi le faire automatiquement en exécutant code code SQL :
CREATE TABLE `cpt_connectes` (
`ip` varchar(255) collate latin1_german2_ci NOT NULL,
`timestamp` varchar(255) collate latin1_german2_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci;
Pour exécuter ce code il vous suffit de copier le code, le copier dans un éditeur quelconque par exemple Notepad++, puis enregistrer en par exemple "db.sql" le ".sql" est très important, par contre "db" vous pouvez le remplacer par ce que vous voulez.
Ensuite, aller sur votre base de donnés. Moi, PHPMyAdmin.
Cliquer sur Importer, importer votre fichier, puis exécuter et encore exécuter.
Votre table a donc était créer, ainsi les champs sont complétés, vous avez finis avec le SQL.
Puis voici le code PHP a mettre sur la page en question pour le compteur de visiteurs en ligne sur votre site :
- <?php
- mysql_connect('localhost', 'username', 'password');
- mysql_select_db('database');
- $dnns = mysql_fetch_array(mysql_query('select count(ip) as nb from cpt_connectes where ip="'.$_SERVER['remote_addr'].'"'));
- if($dnns['nb']>0)
- {
- mysql_query('update cpt_connectes set timestamp="'.time().'" where ip="'.$_SERVER['remote_addr'].'"');
- }
- else
- {
- mysql_query('insert into cpt_connectes (ip, timestamp) values ("'.$_SERVER['remote_addr'].'", "'.time().'")');
- }
- $times_m_5mins = time()-(60*5);
- mysql_query('detete from cpt_connectes where timestamp<"'.$times_m_5mins.'"');
- $dnns2 = mysql_fetch_array(mysql_query('select count(ip) as nb from cpt_connectes'));
- echo 'Il y a actuellement <strong>'.$dnns2['nb'].'</strong> connecté.';
- ?>
Donc vous devez remplacer :
- localhost(Vous devez remplacer par le nom de l'hôte.)
- username (Vous devez remplacer par le nom d'utilisateur.)
- password(Vous devez mettre votre mot de passe de connexion à la base de données.)
- database(Vous devez indiquer le nom de votre base de données)[/PHP][/URL]
Voilà ! ;D