Le script suivant est le code de la page
connectes.php, qui est à inclure au tout début de toutes les pages de ton site. Il vérifie si un utilisateur du site vient d'arriver ou bien s'il était déjà sur le site. Ici, si quelqu'un ne change pas de page pendant 5 minutes, il est considéré comme parti du site (c'est réglable).
- Code: Tout sélectionner
<?
// Connexion à MySQL
mysql_connect("serveur ftp", "login", "mot de passe");
mysql_select_db("base de données");
// -------
// ETAPE 1 : on vérifie si l'IP du visiteur se trouve déjà dans la table
// Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
$con1 = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip='". $_SERVER['REMOTE_ADDR']."'" );
$don1 = mysql_fetch_array($con1);
if ($don1['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter et lui afficher le message voulu
{
mysql_query("INSERT INTO connectes VALUES('".$_SERVER['REMOTE_ADDR']."', '". time()."')");
$nouveau_connecte = 1; // on utilisera cette valeur pour savoir si on affiche où non un message
}
else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp
{
mysql_query("UPDATE connectes SET timestamp='".time()."' WHERE ip='".$_SERVER['REMOTE_ADDR']."'");
$nouveau_connecte = 0;
}
// -------
// ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_5min = time() - (60 * 2); // 60 * 5 = nombre de secondes écoulées en 5 minutes
mysql_query("DELETE FROM connectes WHERE timestamp < '".$timestamp_5min."'");
?>
A ceci, il faut ajouter un autre script dans une page incluse seulement là où tu souhaites afficher ton message, qui sera chargé de récupérer la valeur de $nouveau_connecte, et de prendre le bon pseudo dans le fichier texte. Pour la boucle ça devrait pas être bien compliqué, il suffit de donner une valeur à une variable $ligne_a_lire selon le nombre de fois que $nouveau_connecte a été compté. Et pour la lecture dans le fichier texte, je ne m'en suis que rarement servi en php donc je ne peux pas te faire le script. Mais il exsite des tas d'exemples simples sur le web (regarde du côté du siteduzero).
Ce n'est ici qu'un manière possible de faire, il doit certainement en exister d'autres. A noter d'ailleurs que si tu souhaites afficher le nombre de connectés en temps réel sur ton site, il te suffit de rajouter 3 lignes à la page connectes.php ^^