Pb de déconnexion

Fermé
melissa - 22 déc. 2004 à 11:44
 car0 - 22 déc. 2004 à 15:19
Bonjour,

j'ai un site en php avec sur la premiere page un formulaire d'identification.

Une fois loggué, $_SESSION["id"] prend la valeur du login saisi, et je passe un flag à 1 dans ma base de données pour préciser que le membre est en ligne.

POur la déconnexion, si l'utilisateur clique sur un lien "se deconnecter", tous marche, je remet le flag à 0 et la variable de session à vide.

Mais s'il ferme le navigateur, la variable de session est détruite au bout d'un temps x ( défini dans les paramètres du serveur) mais le flag de la base de données n'est donc pas changé (il reste à 1). Donc le membre est toujours considéré comme online.

Comment remédier à ce probleme pour que quand le navigateur se ferme, la deconnexion soit effective ?

Javais penser faire un script sur le unload de la page, mais comment differencier le unload du refresh ????


Merci d'avance

xxxxxxx
meilssa
xxxxxxx

1 réponse

Bonjour Mélissa,

J'aurais peut-être une autre suggestion : raffiner ton flag boolean pour un datetime "derniere action". À chaque fois que ton usager fait quelque chose, tu mets à jour "derniere action" = now(). Ta liste de membres online devient alors tous les membres qui ont fait quelque chose depuis les 30 (ou comme tu veux) dernières minutes. Donc tu fais un update du flag à chaque reload de page, sauf pour la déconnexion.

Je ne sais pas si ça peut convenir à ta situation... Dis-moi comment tu as réglé ton problème. Ça m'intéresse :-)
Caro
0