Partage
  • Partager sur Facebook
  • Partager sur Twitter

Qui est en ligne ?

    6 mars 2007 à 13:56:59

    Salut a tous je voudrais faire un qui est en ligne mais je ne sais pas comment faire !

    Je sais combien il y a de monde connecter sur mon site mais pas sur ma page et je ne sais pas comment faire !!

    • Partager sur Facebook
    • Partager sur Twitter
      6 mars 2007 à 14:21:54

      ben ce que tu peu faire. c'est dans ta table un champ statue que tu change quand il est en ligne et quand il n'est pas
      • Partager sur Facebook
      • Partager sur Twitter
        6 mars 2007 à 14:26:03

        a oui pas bèete je n'y avait pas penser merci !!
        • Partager sur Facebook
        • Partager sur Twitter
          6 mars 2007 à 16:28:42

          de rein met ton sujet résolue
          • Partager sur Facebook
          • Partager sur Twitter
            7 mars 2007 à 20:47:00

            pas la peine j'ai essayer mais je ne voi pas coment faire. j'ai essayer comme sa:


                                      <?php
            // Connexion à MySQL
             require("config.php");
            mysql_connect($serveur, $nom, $passe);
            mysql_select_db($base);

            // -------
            // ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
            // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
            $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM prefix_membres WHERE statu="on"');
            $donnees = mysql_fetch_array($retour);

            if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
            {
                mysql_query('UPDATE prefix_membres SET statu="on" WHERE identifiant="$_SESSION[session]"');
            }


            // -------
            // ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes

            // On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
            $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
            mysql_query('UPDATE prefix_membres WHERE statu < ' . $timestamp_5min);

            // -------
            // ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
            $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM prefix_membres WHERE statu="on"');
            $donnees = mysql_fetch_array($retour);


            // Ouf ! On n'a plus qu'à afficher le nombre de connectés !
            echo '<li><span style="color: orange">' . $donnees['nbre_entrees'] . ' membres connectés</span></li>';
            ?>


            mais sa ne fonctione pas !!
            • Partager sur Facebook
            • Partager sur Twitter
              7 mars 2007 à 21:14:57

              quel erreur ca te donne
              • Partager sur Facebook
              • Partager sur Twitter
                7 mars 2007 à 21:56:32

                j'ai eu ce probleme deja
                et je l'ai resolu comme suit


                dans la table des membres rajouter un champ "lastquerytime"
                type : bigint
                valeur : 20
                not null


                creer un fichier connect-user.php
                mettre dedans :


                <?
                include("info-bd.php"); //Infos de connexion et connexion à la bdd
                $login = $_SESSION['valid'];
                $query = "SELECT * FROM membre WHERE login='$login'"; //On récupère ses infos dans la bdd
                $result = mysql_query($query);
                if ($result) //On a ses infos ?
                {
                $lastquerytime = time(); //Il a exécuté ce code MAINTENANT
                $query = "UPDATE membre SET lastquerytime='$lastquerytime' WHERE login='$login'"; //On l'écrit dans la table
                mysql_query($query);
                }
                }

                $fiveminago = time() - 5 * 60; //5*60s=5min de délai, mettez ce que vous voulez
                $query = "SELECT login FROM membre WHERE lastquerytime>'$fiveminago'"; //Tous ceux qui ont fait un truc y a moins de 5min
                $result = mysql_query($query);
                while ($row = mysql_fetch_array($result)) //Tant qu'on a des noms
                {
                echo $row[0]."<br>"; //On les affiche
                }
                }
                ?>


                voila
                moi c'est le code que j'ai sur mon site et ça marche tres bien
                • Partager sur Facebook
                • Partager sur Twitter
                  7 mars 2007 à 22:52:00

                  il fonctionne mais moi je veut juste afficher combien il y en a de connecter et non leur nom !!
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 mars 2007 à 3:18:46

                    et tu as pas d'idée pour faire ce que tu veux a partir du code que tu as fais ?!...paskil suffirait de deux lignes pour faire ce que tu veux ! Apprend le PHP et essaye de faire toi même ton code ce sera bien mieux !
                    • Partager sur Facebook
                    • Partager sur Twitter
                    JumpY - Profil LinkedIn
                      8 mars 2007 à 17:10:28

                      je connais le php mais c'est juste que je ne vois pas coment faire c'est tout !!
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 mars 2007 à 18:09:48

                        Il te suffit de faire un simple mysql_num_rows

                        $num = mysql_num_rows($result);
                        echo $num;


                        Voila
                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 mars 2007 à 18:14:12

                          Ya déja le TP de M@teo qui explique tout.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          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