Afficher les pseudo connecté et les visiteurs
Posté : 13 sept. 2008, 23:16
Bonsoir j'ai un petit problème j'ai tout essayer et je n'arrive pas a le résoudre je suis novice 
Donc j'ai mon espace membres les inscriptions,connexion etc.. se font bien mais j'essaye d'afficher les pseudo connectés et d'afficher combien de visiteurs sont sur mon site le pseudo s'affiche bien mais quand le membre se déconnecte le pseudo reste toujours affiché si quelqu'un aurait une idée
Voici mes tables :
http://img369.imageshack.us/my.php?imag ... tredb9.jpg
Voici mon code pour récupérer les nom des pseudo et les invités :
Petite infos : "hs_espace_membre_membres" c'est ma table.[/img]
Donc j'ai mon espace membres les inscriptions,connexion etc.. se font bien mais j'essaye d'afficher les pseudo connectés et d'afficher combien de visiteurs sont sur mon site le pseudo s'affiche bien mais quand le membre se déconnecte le pseudo reste toujours affiché si quelqu'un aurait une idée
Voici mes tables :
http://img369.imageshack.us/my.php?imag ... tredb9.jpg
Voici mon code pour récupérer les nom des pseudo et les invités :
<?php
session_start();
// fonction a appeler au début de vos pages
function connectes()
{
$temps = 5;
if(mysql_connect("localhost","mon login","mon passe"))
mysql_select_db("base de donnée");
else
return;
// ip du client
$ip = $_SERVER['REMOTE_ADDR'];
// pseudo
$login = empty($_SESSION['id_user']) ? '' : $_SESSION['id_user'];
// time actuel
$time = time();
// on recherche l'utilsateur
$sql_query = "SELECT * FROM hs_espace_membre_membres where ip='$ip'";
$result = mysql_query($sql_query);
if(!$result)
return;
// si l'utilisateur n'est pas deja dans la table
if(mysql_num_rows($result) == 0)
{
$sql_query = "INSERT INTO hs_espace_membre_membres VALUES ('$ip', '$time', '$login')";
$result = mysql_query($sql_query);
if(!$result)
return;
}
// mise-à-jour
else
{
$sql_query = "UPDATE hs_espace_membre_membres SET derniere='$time', login='$login' WHERE ip='$ip'";
$result = mysql_query($sql_query);
if(!$result)
return;
}
// temps d'incativité
$time -= $temps * 1;
// on supprime ceux qui n'ont pas été connectés depuis assez longtemps
$sql_query = "DELETE LOW_PRIORITY FROM hs_espace_membre_membres WHERE derniere <= $time";
$result = mysql_query($sql_query);
mysql_close();
}
connectes();
// Affichage des connectés, à mettre ou vous voulez ;-)
$stop = 0;
if(mysql_connect("localhost","mon login","mon passe"))
mysql_select_db("base de donnée");
else
$stop = 1;
if(!$stop)
{
$sql_query = "SELECT login FROM hs_espace_membre_membres WHERE login <> ''";
$result = mysql_query($sql_query);
if(!$result)
$stop = 1;
else
{
echo '<font color="#0000FF">Connectés:</font><br>';
while($connecte = mysql_fetch_array($result))
echo $connecte[0] . '<br>';
}
}
if($stop == 0)
{
$sql_query = "SELECT count(*) FROM hs_espace_membre_membres WHERE login = ''";
$result = mysql_query($sql_query);
if($result)
{
$visiteurs = mysql_fetch_array($result);
echo '<br><font color="#0000FF">Visiteurs:</font><br>' . $visiteurs[0];
}
}
?>
Espérant de m'avoir bien expliquer merci pour votre aide.Petite infos : "hs_espace_membre_membres" c'est ma table.[/img]