IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] maintenir la bdd à jour [Tutoriel]


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    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 ;-)

  2. #2
    Membre régulier Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Points : 102
    Points
    102
    Par défaut
    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 )

  3. #3
    Invité4
    Invité(e)
    Par défaut
    J'ai aussi utilisé ça, c'est facile et ça marche nickel

  4. #4
    Invité
    Invité(e)
    Par défaut
    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 !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Conception] recupération information bdd dans un formulaire
    Par kifouillou dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/09/2006, 09h37
  2. [Conception] extraction md5 BDD, question !
    Par Fabouney dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 03/08/2006, 01h42
  3. [Conception] Performance de BDD
    Par darkbob dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 18/07/2006, 15h10
  4. [Conception] erreur de mise à jour UPDATE
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/06/2006, 12h56
  5. [Conception] Calendrier - Gestion des jours ouvrés
    Par eXiaNazaire dans le forum Général Java
    Réponses: 3
    Dernier message: 16/02/2006, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo