Alors, plusieures remarques.
1/
AddSlashes()
J'ai des doutes, à mon avis, php respecte la casse, dans le doute, il vaut mieux mettre en minuscule :
addslashes()
2/ Tu n'as aucune gestion des erreurs SQL, si tu as la moindre erreur, tu ne la diagnostiqueras pas, et c'est génant en développement. Prends l'habitude d'utiliser die() et mysql_error(), par exemple :
$result = mysql_query($requete) or die('Erreur SQL : ' . mysql_error() . "\nRequète:" . $requete);
3/
if ($result !== FALSE) //MON SOUCI EST ICI
Je ne vois pas d'erreur, normalement, ce code est bon.
4/
$query1 = "UPDATE dp_utilisater SET lastquerytime='$lastquerytime' WHERE pseudo='$pseudo'";
mysql_query($query1);
$query2 = "UPDATE dp_utilisater SET status='online' WHERE pseudo='$pseudo'";
mysql_query($query2);
Tu fais 2 requètes de suite quasiment identiques. En règle générale, moins tu feras de requète, mieux ton serveur SQL se portera. Donc, pour ce genre de requètes, fais plutôt ceci :
Code : Tout sélectionner
UPDATE dp_utilisater SET status='online', lastquerytime='$lastquerytime' WHERE pseudo='$pseudo'
5/
Apparement, tu sembles utiliser ta table d'utilisateurs pour implémenter l'idée. Ca marche aussi, mais dans ce cas, il faut que tu supprimes la colonne status qui ne sert à rien, car le status est défini par le champ lastquerytime, et c'est seulement avec ce champ là que tu dois définir le status de l'utilisateur.
6/
Tu utilises time(), personnellement, j'aurais laissé le serveur faire le travail :
Code : Tout sélectionner
UPDATE dp_utilisater SET lastquerytime=NOW() WHERE pseudo='$pseudo'
C'est un gain (négligeable peut être mais un gain tout de même) de ressources, car en règle générale, là encore, tout ce que tu pourras faire faire par ton serveur sql sera fait mieux et plus rapidement.
Et dans ta requète SELECT, tu peux utiliser
les fonctions de dates et d'heures :
Code : Tout sélectionner
SELECT pseudo FROM dp_utilisater WHERE lastquerytime > SUBDATE( NOW(), INTERVAL 5 MINUTE)";
7/
Enfin, préfère
à
Car SELECT * te retourne tout, même ce dont tu n'as pas besoin, et c'est donc une charge supplémentaire pour le serveur SQL.