Fin de session

Résolu
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009 - 21 juin 2006 à 15:43
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009 - 22 juin 2006 à 09:46
Bonjour,

voilà, je voudrais faire comme certains forum (notamment les PhpBB) et indiquer la liste des gens qui parcoure actuellement le site.
Donc je me suis dis, au démarage de la session mettre en base de donnée le pseudo de l'utilisateur connecté et, là où je veux afficher la liste, parcourir les infos de cette table. Jusque là, pas de problème.
Maintenant, là où j'ai du mal, c'est pour effacer le membre de la liste à la fin de la session. Si jamais la personne se déconnecte, pas de problème, mais comment faire quand la personne ferme son navigateur ou quand la session arrive à expiration ?
En ASP, je sais qu'on peut utiliser le Global.asa pour définir ce qui se passe à la fin d'une session, mais comment faire en PHP ??

J'ai chercher dans divers tutoriaux sur les sessions, mais je n'en ai pas trouvé qui parlait de la fin d'une session de cette manière. Je sèche un peu là. Après, y'a peut-être une meilleur solution que la base de donnée. Est-ce qu'on peut par exemple avoir accès à toutes les sessions en court dans une page PHP ? Où est-ce qu'on a accès qu'à la session de l'utilisateur qui demande la page ?

merci d'avance ^___^

Final Fantasy Memories
Zelda Memories
Games Memories/A>

4 réponses

cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
21 juin 2006 à 16:19
une méthode pas forcément la meilleur mais tout à fait fonctionnel. Dans ta table session rajoute un champ qui contiendra une date (avec heure, minutes et seconde). A chaque fois que le visiteur en question se déplac sur le site (= charge une page) tu met à jour le champs correspondant à la session de l'utilisateur avec la nouvelle date. Ensuite il te suffit de définir qu'un utilisateur est toujours actif (donc présent sur le site) si la dernière activité date de moins de 5 minutes. Sinon tu supprime la session (force la déconnexion).
3
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009
21 juin 2006 à 16:22
c'est pas un peu gourmand comme méthode ? ça rajoute quand même pas mal de connexion SQL non ?

Final Fantasy Memories
Zelda Memories
Games Memories/A>
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
21 juin 2006 à 18:22
Hello,

Une gestion via SQl est la seule maniere que je connais ... Sinon, moi j'ajoute un champs dans ma table membre et je mets le time(); de la derniere connexion. Si c'est inferieur à 5 minutes j'affiche. => +1 query / pages

<hr />Si ma reponse te convient, merci de l'accepter ! 
0
Thanos_the_yopper Messages postés 309 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 5 mars 2009
22 juin 2006 à 09:46
bon, ben je vais tenter comme ça, merci pour les suggestions ^^ Si quelqu'un a une autre façon de faire, qu'il n'hésite pas :)

on critique pas mal ASP par rapport au PHP, sur ce coup là au moins, les sessions sont un peu mieux gérée :) (et même beaucoup mieux dans ASP.Net).

Final Fantasy Memories
Zelda Memories
Games Memories/A>
0
Rejoignez-nous