Bonsoir à tous
J'ai un problème avec mon script qui devrait afficher le nombre de visiteurs connectés : je suis avec quelqu'un au téléphone qui est sur mon site, j'y suis aussi, et même après plusieurs actualisations, je reste à 1 visiteur connecté. De plus la seule entrée dans ma BDD qui reste tout le temps est une IP que je ne connais pas, et qui n'est pas la mienne, ni une IP proche de chez moi. Je pense que c'est l'IP du serveur ou quelque chose comme ça. Toujours est-il que mon IP ne se retrouve jamais dans la BDD quand je suis connecté
Le script PHP :
J'ai deux champs dans ma table : ip en varchar et timestamp en int.
Je vous remercie pour votre aide
Modifié par Leo46 (20 Jan 2008 - 11:19)

J'ai un problème avec mon script qui devrait afficher le nombre de visiteurs connectés : je suis avec quelqu'un au téléphone qui est sur mon site, j'y suis aussi, et même après plusieurs actualisations, je reste à 1 visiteur connecté. De plus la seule entrée dans ma BDD qui reste tout le temps est une IP que je ne connais pas, et qui n'est pas la mienne, ni une IP proche de chez moi. Je pense que c'est l'IP du serveur ou quelque chose comme ça. Toujours est-il que mon IP ne se retrouve jamais dans la BDD quand je suis connecté

Le script PHP :
<?php
mysql_connect("localhost", "mon_login", "mon_mdp");
mysql_select_db("ma_base");
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'') or die (mysql_error());
$donnees = mysql_fetch_array($retour);
if ($donnees['nbre_entrees'] == 0)
{
mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')') or die (mysql_error());
}
else
{
mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'') or die (mysql_error());
}
$timestamp_5min = time() - (60 * 5);
mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min) or die (mysql_error());
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes') or die (mysql_error());
$donnees = mysql_fetch_array($retour);
if ($donnees['nbre_entrees'] > 1)
{
echo $donnees['nbre_entrees'] . ' visiteurs connectés.';
}
else
{
echo $donnees['nbre_entrees'] . ' visiteur connecté.';
}
mysql_close();
?>
J'ai deux champs dans ma table : ip en varchar et timestamp en int.
Je vous remercie pour votre aide

Modifié par Leo46 (20 Jan 2008 - 11:19)