Afficher icone selon statut ONLINE/OFFLINE

Eléphanteau du PHP | 13 Messages

07 août 2007, 22:26

Il ne faut donc pas mémoriser la date de dernière connexion mais la date de la dernière visite, c'est à dire la dernière fois que ce membre à afficher une page ;)
Petite question, comment mémoriser la dernière visite ? :p Parce que la derniere connexion, c'est simple, je la mémorise lors du login de la personne, mais la dernière visite, je vois pas mis à part un cookie mais je dois surement par chercher au bon endroit :) Pourrais tu eclairer ma lanterne par un exemple ? =)

Sinon pour le champ status, je n'arrive pas à poursuivre la requete après lastquerytime < SUBDATE( NOW(), INTERVAL 5 MINUTE ) pour afficher l'image etc :/

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 août 2007, 22:41

si je ne m'abuse, tu acceptes des membres connecté sur ton site.

Tu as donc bien un endroit où tu vérifie que le membre qui demande une page est connecté ? C'est à cet endroit que je te conseille de mettre la mise à jour ...

C'est un trou à performance mais je ne vois pas d'autres solutions ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 5924 Messages

07 août 2007, 22:42

Sinon pour le champ status, je n'arrive pas à poursuivre la requete après lastquerytime < SUBDATE( NOW(), INTERVAL 5 MINUTE ) pour afficher l'image etc :/
Bah, ya pas de problème, je te dis qu'à chaque fois que tu demande statut, tu remplaces par lastquerytime < SUBDATE( NOW(), INTERVAL 5 MINUTE ), avec éventuellement un alias statut si ca te facilite la récupération des données.
Si tu fais la requète :

Code : Tout sélectionner

SELECT pseudo, statut FROM table WHERE truc-'machin'
tu remplaces par

Code : Tout sélectionner

SELECT pseudo, lastquerytime < SUBDATE( NOW(), INTERVAL 5 MINUTE ) AS statut FROM table WHERE truc-'machin'
Si tu fais

Code : Tout sélectionner

SELECT pseudo, machin, truc FROM table WHERE statut='online'
tu fais

Code : Tout sélectionner

SELECT pseudo, machin, truc FROM table WHERE lastquerytime < SUBDATE( NOW(), INTERVAL 5 MINUTE ) AS statut
Je ne vois pas où tu peux avoir du mal à continuer la requète, c'est juste un remplacement.

Eléphanteau du PHP | 13 Messages

07 août 2007, 23:12

Oki jvais bosser sur ça alors Sékiltoyai =) Merci pour ces infos
Tu as donc bien un endroit où tu vérifie que le membre qui demande une page est connecté ?
En fait j'utilise les sessions,
if (!$_SESSION["dpteam"]) {
pour savoir si un membre est connecté sur le site.

Et si jdois utilisé ceci, que dois je mettre derriere ?

[EDIT] C'est good, j'ai mis ça sur ma page d'index et c'est nickel :)
if ($_SESSION["dpteam"]) {  mysql_query("UPDATE dp_utilisater SET lastquerytime = 'time()' WHERE pseudo= '$login'") or die(mysql_error());  }
?>
Sinon, j'ai aussi adapté ce code pour la déconnexion donc quand un utilisateur appuie sur la touche "deconnexion", son statut change en offline :D
Cependant, y-a-t'il une astuce pour ne pas attendre 5 minutes et mettre un utilisateur automatiquement déconnecté lorsqu'il ferme son navigateur ou s'il part sur autre site sans appuyer sur la touche déconnexion?

to175
Invité n'ayant pas de compte PHPfrance

05 déc. 2011, 00:42

Bonsoir,
j'aimerais bien moi aussi affiché une icone bleue pour un connecté et rouge pour un déconnecté... vu la date je pense que vous avez dû réussir, dans ce cas pouvez vous poster vos résultats? :priere:
merci