Derniers Articles
Vous êtes ici : Accueil / Tutoriaux / Développement / Compteur de connectés script php

Compteur de connectés script php

Bonjour,
dans ce tutoriel, je vais vous expliquer le fonctionnement d’un compteur de connectés, et nous allons en réaliser un.

Le fonctionnement d’un compteur de connectés est très simple, une personne est jugée être connectée pendant les 5 minutes suivant l’ouverture de la dernière page.
Vous pouvez évidement changer cette valeur.
Le script va utiliser MYSQL.

Dans ce script nous allons utiliser l’adresse ip du visiteur pour le reconnaitre. À chaque fois que le visiteur va 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 datent 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 le 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;


Donc voici le code php/mysql pour faire un compteur de connectés:

 

<?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&eacute;.’;
?>

Répondre

Votre adresse email ne sera pas publiée.

shared on wplocker.com