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

Langage PHP Discussion :

Afficher liste des connectés


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Pepito2030
    Inscrit en
    Juillet 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 43
    Par défaut Afficher liste des connectés
    Salut,

    Je suis en train de me mettre aux sessions et j'aimerais afficher une liste des connectés sur le site mais le problème c'est que je débute la dedans.

    Sur le site il y avait un tutoriel PHP sur comment afficher une liste de connectés mais je n'arrive pas à me connecter sur leur site !!!

    Vous connaissez un tutorial, un site qui explique comment afficher la liste des connectés ?

    Je cherche un tutorial qui explique de a à z et non pas juste quelques phrases pour me donner l'idées générales !!

    Merci bonne soirée

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Par défaut
    Sinon, le tuto fonctionnait comme suit :
    A chaque fois que quelqu'un se connecte, le script regarde son IP. Si celle-ci n'est pas présente dans la BDD, on l'ajoute, avec le timestamp actuel. Et si elle est présente, on modifie le timestamp pour le mettre à la valeur actuelle.

    Quand tu ajoutes à ta BDD une nouvelle IP, ou que tu modifies le Timestamp d'une ip, tu dois regarder celles qui ont un timestamp qui date d'il y a plus de 5 minutes, et les supprimer.

    Et pour afficher le nombre d'inscrits, on compte le nombre d'ip.

    Je sais pas si j'ai été clair...

  3. #3
    Membre averti Avatar de Pepito2030
    Inscrit en
    Juillet 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 43
    Par défaut
    Je viens de relire le tuto et en fait ce n'est pas ce qu'il me faut ! ils utilisent les ip pour différencier les visiteurs alors que moi je ne veux afficher que les membres connectés !

    Ce que je peux faire c'est reprendre l'id du membre (dans la table membre), créer une nouvelle table whoisonline par exemple et dedans j'y mettrais deux champs "id" et "timestamp" et quand le membre se connectera il inserera un timestamp si le membre ne s'est jamais connecté ou j'updaterais le champ timestamp si ce membre est déja venu.

    Je cherche à faire une liste de connecté comme le fait certains tchats du type "tchatche.com". Comment puis je faire pour avoir une liste de connectés en direct ?? et non pas toutes les 5 minutes ?

  4. #4
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Salut, je ne m'y connais pas trop en sessions, qui est connecté ou non mais si je devais le faire rapidement, j'utiliserai une bdd.

    Tu crée une table dans ta base de données qui contient un champ "nom".

    Dès que quelqu'un se connecte avec log/pass, bref, ouvre une nouvelle session, tu l'enregistre dans ta base avec son nom (et son mot de passe si tu veux).

    Ensuite, quand tu veux afficher ta liste de connectés, tu les trouve dans ta base de données.


    Comme on m'a demandé d'être le moins flou possible dernierement, voici un peu de code...

    login.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    // On imagine ici que tu a dejà verifié que l'utilisateur est valide...
    // Son log est passé en $_POST via le formulaire de log
     
    // === CONNEXION A LA BD ===
    mysql_connect($host, $login, $password);
    mysql_select_db($table);
     
    // on y insere maintenant le nom du nouveau client
    $sql = "INSERT INTO test (nom) " . " VALUES ( $_POST['log'] )"; 
    mysql_query($SQL);
     
    mysql_close();
     
    ...
     
    // il faut aussi mettre a jour les variables de session pour savoir qui est 
    // connecté à la session concernée.
    $_SESSION['log'] = $_POST['log'];
    Ensuite, dans le fichier qui affiche la liste des connectés, on rouvre la bdd pour y lire tous les noms.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // === CONNEXION A LA BD ===
    mysql_connect($host, $login, $password);
    mysql_select_db($table);
     
    // lecture de tous les login
     $SQL = "SELECT * FROM " . $nomDeLaTable;
     $res = mysql_query($SQL);
     
     while($val=mysql_fetch_array($res)) 
     {
             // Affichage de chaque nom
            echo " - ".$val['nom'] . "<br>";
     }
    Voilà, j'ai juste oublié de dire qu'il faut enlever de la bdd le nom de la personne qui se déconnecte ou qui ferme l'exploreur... D'ailleurs, je ne sais pas ou récuperer ca... Si quelqu'un peut compléter ma réponse, ce serait coool

    ++
    JC

Discussions similaires

  1. liste des connectés
    Par Hydex dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/06/2007, 14h46
  2. Voir liste des connectés à mon serveur Apache
    Par dj-julio dans le forum Apache
    Réponses: 2
    Dernier message: 13/12/2006, 11h25
  3. Afficher la liste des connectés à une BDD
    Par GD91 dans le forum Access
    Réponses: 4
    Dernier message: 04/10/2006, 14h55
  4. Réponses: 3
    Dernier message: 30/12/2005, 13h47

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