Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PHP] Probleme de mon "qui est en ligne"

    21 février 2006 à 22:36:02

    Tout d'abord, bonjour a tous,

    J'ai tenté de réalisé un petit qui est en ligne sur mon site, dans ma table memebre jai rajouté un champ nommé "status" du type tinyint. (A date tout marche...)

    Maintenant, j'ai fait que quand on se connecte ca change la valeur pour un et quand on se déconnecte, ca change la valeur pour 0.

    Maintenant, j'ai cete requete dans mon qui est en ligne :

    SELECT * FROM membres WHERE STATUS='1'


    J'ai fait un boucle pour lister les connectés et sa marche #1.

    Mantenant, le probleme...



    Lorsqu'on ferme la fenetre, le status reste toujours a 1 !

    C'est rare les gens qui se déconencte avant de fermer la fenetre.

    Alors j'aimerais trouver une solution.

    Merci d'avance a vous tous ! ;)
    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2006 à 22:39:09

      Le mieux, pour cela, semble d'être d'utiliser les timestamp.

      En général, deux minutes est un bon délai pour déclarer quelqu'un "online".

      Donc, si tu as un champ time_derniere_action, où est enregistré, le timestamp de la dernière action de cet utilisateur (navigation, donc dans un fichier à inclure, celui qui déclare la session est un bon choix), dans le who's on line, tu fais une recherche de tous ceux donc la valeur de ce champ est supérieure ou égale au timestamp actuel - 120 (timestamp d'il y a 2 minutes)...

      ce n'est qu'un exemple.


      Lpu8er
      • Partager sur Facebook
      • Partager sur Twitter
        21 février 2006 à 22:46:22

        Merci c'est tres gentil de m'Avoir répondu mais il n'y aurais pas une solution un peux moin compliquer du genre "Quand le visiteur ferme la fenetre" on effectue une requete

        Il n'y aurais pas moyen de faire sa ?
        • Partager sur Facebook
        • Partager sur Twitter
          21 février 2006 à 22:48:14

          Peut-être en JS, mais en PHP, je ne sais pas... Je ne pense pas honnêtement. Des solutions ? :euh:
          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2006 à 22:51:05

            J'ai trouvé sa peut etre que ca pourrais etre utile:

            http://aliasdmc.free.fr/coursjavas/cours_javascript89.html

            En bas complement, il y a l'évenement Unload (Quand on ferme la fenetre)

            Merci encore !!
            • Partager sur Facebook
            • Partager sur Twitter
              21 février 2006 à 22:53:31

              Résolu ?

              (pratique ça... comme quoi le js peut parfois servir ^^ )
              • Partager sur Facebook
              • Partager sur Twitter
                21 février 2006 à 22:55:00

                Nah pas encore :p

                J'aurais besoin que vous m'éclairsissiez un peux :)

                Je comprend pas trop le JS,

                Peut etre exsite t-il une solution autres que ceux la a mon probleme ?

                Edit--
                C'est bon !!

                J'ai trouvé:

                Voici la requete pour les interessés ^^

                SELECT * FROM membres WHERE STATUS='1' AND lasts >= $timestamp-120;


                Merci !
                • Partager sur Facebook
                • Partager sur Twitter

                [PHP] Probleme de mon "qui est en ligne"

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown