Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2005, 15h56   #1
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149
Par défaut [Conception] maintenir la bdd à jour



je me suis fait un petit forum, et j'aimerais avoir, comme dans les forums phpBB par exemple, une liste des utilisateurs en ligne.

j'ai donc eu l'idee d'ajouter un attribut "en_ligne" à la relation "utilisateur" dans ma bdd.
quand un utilisateur se logge, son attribut "en_ligne" est passé à 1. lorsqu'il se delogge, son attribut "en_ligne" est repassé à 0.

mais comment effectuer cette operation quand l'utilisateur quitte mon site (ferme son navigateur, ou va vers un autre site) sans se deconnecter ??

j'ai pensé allier ça avec le mecanisme des sessions (que bien sur j'utilise pour mon forum), car une session est detruite lorsque l'utilisateur ferme son navigateur. mais comment detecter que la session est detruite, et ainsi agir dans la bdd ?

peut-etre stocker l'id de session dans la bdd, et faire un script periodique qui ne laisse dans la bdd que les sessions dont le fichier existe encore ?

si vous avez une methode plus simple et moins lourde, d'avance ;-)
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2005, 17h43   #2
Membre régulier
 
Avatar de zamanika
 
Inscription : novembre 2003
Messages : 106
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 106
Points : 98
Points : 98
salut,

En gros tu peux faire ça :

-l'utilisateur se logue -> rentre la date (time(); ) dans la base de donnée dans un champ "date de connexion".
-à chaque fois que utilisateur fait une action (chargement d'une nouvelle page), via le header de ma page (pseudoframe), je réactualise cette date de connexion.
-là où on voit "qui est en ligne", je vais chercher ces dates dans la bdd, et je regarde si la date des utilisateurs loggés est au moins égale à la date actuelle, moins 5 minutes. Si c'est le cas -> je mets l'utilisateur comme "en ligne".

C'est bien sur pompé sur phpbb, et ça explique le "basé sur les 5 dernières minutes )
zamanika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2005, 18h50   #3
Invité4
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
J'ai aussi utilisé ça, c'est facile et ça marche nickel
  Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2005, 20h55   #4
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149
graaaaaave mais oui c'est super simple !!!

comme ça en plus ça permet de recuperer, dans le profil de la personne, la date de sa derniere connexion !!!

merci beaucoup, je teste et je mets ça en [Résolu] dans quelques minutes !!!
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h46.


 
 
 
 
Partenaires

Hébergement Web