par
Henri » 12 sept. 2006, 15:41
si je fais un script qui se lance tous les 5 min qui verifie les inactivités de plus de 3600sec, la personne qui se sera connecte puis fermer son navigateur ne pourra pas se reconnecter avant 1h
Sur le même poste, pourquoi pas ? Il faudrait à ce moment-là travailler avec des cookies. Mais ça devient vraiment complexe.
Autre idée : tu mets ton site dans un système de frameset avec une frame de 1 pixel de large (ou 1 pixel de haut).
La page incluse dans cette frame "invisible" est une page PHP qui se rafraichit toutes les 5 minutes et qui met à jour ta base de données en indiquant que l'utilisateur est toujours actif.
Si le type laisse son browser allumé : la page continue à se rafraichir toutes les 5 minutes. C'est le système décrit plus haut qu'il faut alors tester pour savoir s'il est encore actif ou pas.
Si le type ferme son browser : la page n'est plus rafraichie. Et donc cette fois tu peux détecter la fermeture au bout de 10 minutes.
Mais encore une fois, aucune solution n'est vraiment satisfaisante. Le bon vieux transactionnel ou le client/serveur nous manquent parfois

quand on ouvrait une sessionutilisateur au début du programme et qu'on la fermait à la fin du programme.
[quote]si je fais un script qui se lance tous les 5 min qui verifie les inactivités de plus de 3600sec, la personne qui se sera connecte puis fermer son navigateur ne pourra pas se reconnecter avant 1h[/quote]
Sur le même poste, pourquoi pas ? Il faudrait à ce moment-là travailler avec des cookies. Mais ça devient vraiment complexe.
Autre idée : tu mets ton site dans un système de frameset avec une frame de 1 pixel de large (ou 1 pixel de haut).
La page incluse dans cette frame "invisible" est une page PHP qui se rafraichit toutes les 5 minutes et qui met à jour ta base de données en indiquant que l'utilisateur est toujours actif.
Si le type laisse son browser allumé : la page continue à se rafraichir toutes les 5 minutes. C'est le système décrit plus haut qu'il faut alors tester pour savoir s'il est encore actif ou pas.
Si le type ferme son browser : la page n'est plus rafraichie. Et donc cette fois tu peux détecter la fermeture au bout de 10 minutes.
Mais encore une fois, aucune solution n'est vraiment satisfaisante. Le bon vieux transactionnel ou le client/serveur nous manquent parfois :cry: quand on ouvrait une sessionutilisateur au début du programme et qu'on la fermait à la fin du programme.