Page 1 sur 1

fermeture de session

Posté : 21 févr. 2006, 15:10
par VaN
Bonjour,
j'utilise un systeme de session. Lors qu'un utilisateur se connecte, je crée la variable $_SESSION['user_id'] et je passe le champ 'user_is_logged' de ma table USERS à 1, pour savoir qui est connecté.

Lorsque l'utilisateur ferme sa session via la page destroy.php, la session est fermée, et je repasse le champ-user_is_logged' à 0.

Mais quand l'utilisateur ferme la fenetre, la session se finit, mais je ne peux pas toucher au champ 'user_is_logged', et donc ces utilisateurs restent connectés en apparence.

Comment puis-je faire pour mettre a jour ce champ lorsque la fenetre est fermée ?

Posté : 21 févr. 2006, 15:16
par nogeva
une solution interessante peut etre de créer simplement à la place de ton user_is_logged un champ avec un time() contenant la dernière date d'activité, et tu regardes et tu fais un time()-time du champ.. tu peux ainsi savoir qui est actif depuis un certain temps... si l'utilisateur se déconnecte manuellement tu met le champ à zéro et le tour est joué.

Bon code ^^

Posté : 21 févr. 2006, 15:40
par VaN
oui mais j'aimerai faire une différence entre "offline" et "est inactif depuis X minutes". C'est a dire que meme un utilisateur connecté mais inactif depuis très longtemps reste connecté.

Posté : 21 févr. 2006, 15:47
par nogeva
avec un javascript on close ça doit être jouable :D

Posté : 21 févr. 2006, 15:52
par VaN
rah et je viens de penser : si l'utilisateur a une session ouverte, et qu'il ouvre une deuxieme page avec sa session ouverte egalement, le fait d'en fermer une le passe en 'offline', alors qu'il est toujours connecté sur l'autre fenetre : / casse-tête..