Deconnexion de la session a la fermeture du navigateur

Résolu
David_monchy Messages postés 214 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 23 juin 2006 - 10 avril 2006 à 14:40
David_monchy Messages postés 214 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 23 juin 2006 - 11 avril 2006 à 09:07
Bonjour,
Je voudrais, lorsqu'une session se déconnecte, faire un update d'une table de ma base. Pour cela, lorsque l'on clicque sur un lien, j'appelle une page qui se charge de cela et fait un session_destroy(). Le problème, c'est que certaines personnes oublient de cliquer sur ce lien et ferme le navigateur, et donc mon update ne se fait pas. Comment puis-je faire pour résoudre ce problème?
Merci d'avance,
David

6 réponses

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
10 avril 2006 à 15:38
Tu mets un champs timeout dans ta base de données et celui-ci doit valoir le time()+300 par exemple...
À chaque fois que quelqu'un bouge, il met à jour ce temps ET il vérifie si d'autres personnes a ce champs plus bas que maintenant. Si c'est le cas, il supprime la ligne ou mets inactif sa session.

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 avril 2006 à 16:04
Il veut dire que tu vérifies, dès qu'un visiteur se déplace d'une page à une autre sur ton site, si dans ta bas,e tu as un utilisateur dont le champ timeout contient une valeur inférieure au time() courant. Cela veut dire qu'il est inactif depuis au moins 300 secondes. Donc, que tu peux penser qu'il est déconnecté, et donc, faire ton update.
3
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
10 avril 2006 à 19:28
Si personne n'est connecté sur ton site, imagine 100 personnes quittes ton site en même temps... eh bien il aura "100 personnes de connecté" qui resteront mais personne ne le verra... Lorsqu'une personne se connectera, ta requête mettra offline ces 100 personnes et elle mettra à jour son temps à elle seule.

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
3
David_monchy Messages postés 214 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 23 juin 2006 1
10 avril 2006 à 15:50
euh... désolé mais je n'ai pas compris le coup du verifier si d'autres personnes a ce champ plus bas que maintenant. Peux tu donner un exemple s'il te plait?
David
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
David_monchy Messages postés 214 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 23 juin 2006 1
10 avril 2006 à 16:15
ok je pense avoir compris... Cela implique que si aucun visiteur n'est connecté, il se peut que personne ne soit déconnecté, c'est bien cela? De plus, cela implique que lorsque quelqu'un bouge, seul son timeout est mis a jour? Si ce que je dis n'est pas ce a quoi vous pensiez, dite le. Je vais essayer cela pendant ce temps.
0
David_monchy Messages postés 214 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 23 juin 2006 1
11 avril 2006 à 09:07
Je vous remercie pour votre aide, tout fonctionne bien...
David
0
Rejoignez-nous