» Nombre Connectés
Rédigé par :
Guillaume
Le : 09/05/2003 à 21:52
Hits : 7665
Un petit script pour afficher le nombre de personnes connectées en Live sur votre site.
- Vous pouvez configurer le temps que vous pensez qu'ils restent connectés
- Les textes s'affichent au singulier ou au pluriel suivant le nombre de connectés.
- Vous pouvez soit mettre le code directement dans votre page ou bien faire un include().
article_9.php
<?php
// ------------------------------------------------------------------------- //
// Nombre Connectés //
// ------------------------------------------------------------------------- //
// Le 09/05/2003 à 21h52 par Guillaume JIGUEL (guillaume@gphp.net) //
// ------------------------------------------------------------------------- //
// http://www.gphp.net/articles,9.php //
// ------------------------------------------------------------------------- //
// Connexion à votre db
function connect_db(){
global $db, $host, $login, $pass, $base;
$db = mysql_connect($host, $login, $pass);
mysql_select_db($base, $db);
}
$host = "localhost";
$login = "root";
$pass = "";
$base = "test";
connect_db();
// Temps d'une personne connectée, 120 sec = 2 min
$time_connectes = 120;
$texte = "personne connectée";
// On configure l'heure et l'ip de la personne qui se connecte à la page
$time = date("U");
$ip = getenv("REMOTE_ADDR");
// On fait une requete pour vérifier si l'ip est déja connecté
$query = "SELECT ip, time FROM connectes WHERE ip='$ip'";
$result = mysql_query($query, $db);
$nombre_connectes = mysql_num_rows($result);
// Si l'ip est déja connecté, on update time
if ($nombre_connectes){
$query = "UPDATE connectes SET time='$time' WHERE ip='$ip'";
$result = mysql_query($query, $db);
// Sinon on insert l'ip au temps time
}else{
$query = "INSERT INTO connectes (ip, time) VALUES ('$ip', '$time')";
$result = mysql_query($query, $db);
}
// On défini le temps maximum avant l'update ou le delete
$time_max = $time - $time_connectes;
// On delete l'ip si time < temps maximum
$query_del = "DELETE FROM connectes WHERE time < '$time_max'";
$result_del = mysql_query($query_del, $db);
// On refais une requete pour afficher le nombre de connectes
$query_sel = "SELECT ip, time FROM connectes";
$result_sel = mysql_query($query_sel, $db);
$nombre_connectes = mysql_num_rows($result_sel);
// on configure le singulier du pluriel en mettant le texte dans un array et en lui ajoutant un s si le nombre de connectes est > 1
$texte_pluriel = explode(" ", $texte);
if ($nombre_connectes == 1){
echo $nombre_connectes." ".
$texte;
}else{
echo $nombre_connectes." ";
foreach ( $texte_pluriel as $texte_affiche ) {
echo $texte_affiche."s ";
}
}
// On ferme la db
mysql_close();
?>
article_9.sql
## ------------------------------------------------------------------------- ##
## Nombre Connectés ##
## ------------------------------------------------------------------------- ##
## Le 09/05/2003 à 21h52 par Guillaume JIGUEL (guillaume@gphp.net) ##
## ------------------------------------------------------------------------- ##
## http://www.gphp.net/articles,9.php ##
## ------------------------------------------------------------------------- ##
CREATE TABLE connectes (
ip varchar(255) NOT NULL default '',
time bigint(20) NOT NULL default '0'
);
» Commentaires
Pas de commentaires.
Vous devez être connecté en tant que Membre pour pouvoir poster un commentaire, Inscrivez vous ici !