Partager
Affiche les résultats de 1 à 6 sur 6

Sujet : Programmation web : Liste des utilisateurs connectés à une base de données MySql

  1. #1
    Inscrit
    décembre 2012
    Messages
    658
    Remerciements
    401
    Remercié(e) 223 fois dans 114 messages
    Pouvoir de réputation
    7

    Programmation web : Liste des utilisateurs connectés à une base de données MySql

    Bonsoir,

    J'ai un certain nombre d'utilisateurs qui sont tous authentifiés pour pouvoir accéder à ma base de données.

    La table (users) des utilisateurs est composée de 2 champs (usernam, password).

    Je cherche a affiché sur ma page index.php (en bas de page) les nom des utilisateurs qui sont entrains d'utiliser ma base en temps réel comme dans le cas du site Dzgeek sur la page d’accueil.

    J'ai pensé à ajouter sur ma table (users) un champ que j'appelle 'on_off' la valeur de ce champ est booléenne (0 ou 1) qui prend la valeur 1 si l'utilisateur est authentifié (a saisi le mot de passe et le usernam ) et 0 s'il n'est pas a déconnecté ou bien il a déconnecté!! par la suite j'affiche la list of users connectés en utilisant une requête qui me permet de m'afficher les users qui ont la valeur 'on_off' égale à 1 ("select usernam from users WHERE on_off='1'").

    Et j'ajoute au début de ma page index.php

    Code PHP:
    <META HTTP-EQUIV="Refresh" CONTENT="4; URL=index.php"
    Qui me permet d'actualiser ma chaque 4 secondes!!

    Je ne sais pas si quelqu'un à une idée pour le faire j'en serai vraiment ravie.

    Bonne soirée
    Dernière édition par sabrina206; 05/06/2013 à 22h02

  2. # ADS
    Inscrit
    Toujours
    Messages
    Plusieurs






     
  3. #2
    Inscrit
    février 2011
    Messages
    54
    Remerciements
    1
    Remercié(e) 11 fois dans 9 messages
    Pouvoir de réputation
    7

    Re : Programmation web : Liste des utilisateurs connectés à une base de données MySql

    Bonjour,

    $tblValues = array(':user' => $user; 'assword' => $password);
    $sql = 'SELECT COUNT(*) FROM tbl_user WHERE user = :user AND password = assword LIMIT 1';
    $stmt = $conn->prepare($sql);
    $stmt->execute($tblValues);

    $r = $stmt->fetch(PDO::FETCH_NUM);
    $r = $r[0];

    if($r != 0 ) {
    if($f = fopen('nbrconnecter.text', 'w+')) {
    $nbr = fread($f, filesize($f));
    $nbr = $nbr + 1;
    $fwrite($f, $nbr);
    fclose($f);
    }
    ;}

  4. Les membres suivants ont remercié GeekT pour cet excellent message :


  5. #3
    Inscrit
    février 2011
    Lieu
    alger
    Messages
    1 772
    Remerciements
    778
    Remercié(e) 810 fois dans 485 messages
    Pouvoir de réputation
    16

    Re : Programmation web : Liste des utilisateurs connectés à une base de données MySql

    Code PHP:
    $tblValues = array(':user' => $user':password' => $password);
    $sql 'SELECT COUNT(*) FROM tbl_user WHERE user = :user AND password = :password LIMIT 1';
    $stmt $conn->prepare($sql);
    $stmt->execute($tblValues);

    $r $stmt->fetch(PDO::FETCH_NUM);
    $r $r[0];

    if(
    $r != ) {
    if(
    $f fopen('nbrconnecter.text''w+')) {
    $nbr fread($ffilesize($f));
    $nbr $nbr 1;
    $fwrite($f$nbr);
    fclose($f);
    }
    ;} 
    ça sa va te donner le nombre total de connexion depuis la mise en ligne du site dans un fichier txt ce n'est pas la solution

    LIMIT 1 ce n'est pas la peine count est une fonction d'agrégat elle te retourne une seul valeur

    Code PHP:
    $sql "SELECT COUNT(*) AS nbuser FROM tbl_user WHERE user = :user AND password = :password" ;
    $req =  $conn->prepare($sql);
    $req->execute($tblValues);
    $donne $req->fetch()

    $nbuser $donne['nbuser']; 
    c'est plus propre non :)

    sinon y a la célèbre solution de mateo



    Code PHP:
    // Connexion à MySQL
    mysql_connect("localhost""sdz""mot_de_passe");
    mysql_select_db("coursphp");
     
    // -------
    // ÉTAPE 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 connectes WHERE ip=\'' $_SERVER['REMOTE_ADDR'] . '\'');
    $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('INSERT INTO connectes VALUES(\'' $_SERVER['REMOTE_ADDR'] . '\', ' time() . ')');
    }
    else 
    // L'IP se trouve déjà dans la table, on met juste à jour le timestamp.
    {
        
    mysql_query('UPDATE connectes SET timestamp=' time() . ' WHERE ip=\'' $_SERVER['REMOTE_ADDR'] . '\'');
    }
     
    // -------
    // ÉTAPE 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('DELETE FROM connectes WHERE timestamp < ' $timestamp_5min);
     
    // -------
    // ÉTAPE 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 connectes');
    $donnees mysql_fetch_array($retour);
     
     
    // Ouf ! On n'a plus qu'à afficher le nombre de connectés !
    echo '<p>Il y a actuellement ' $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>'
    y a plus qu'a ajouter le login de l'user et une condition si il est connecté avec une variable session


    Visitez mon blog habibal.tk en ligne



    et aussi habibal-tv.tk en ligne


    chaine youtube : https://www.youtube.com/user/omhabibal

  6. Les membres suivants ont remercié habibal pour cet excellent message :


  7. #4
    Inscrit
    février 2011
    Messages
    54
    Remerciements
    1
    Remercié(e) 11 fois dans 9 messages
    Pouvoir de réputation
    7

    Re : Programmation web : Liste des utilisateurs connectés à une base de données MySql

    pardon pardon j'ai mélangé entre nombre de visiteur en temps réel et le nombre de visiteur enregistrer kont chwia mkalak j'ai fait le travail vite fait.

    et concernant LIMIT (3awdi akray chwia securité ta3arfi pk dartha)

    SALAM

  8. [Les 2 membres suivants remercient GeekT pour cet excellent message :


  9. #5
    Inscrit
    février 2011
    Messages
    54
    Remerciements
    1
    Remercié(e) 11 fois dans 9 messages
    Pouvoir de réputation
    7

    Re : Programmation web : Liste des utilisateurs connectés à une base de données MySql

    j'ai mis count pour que je puisse ajouter 1 a chaque sollicitation de la base de donnée manich ralat
    bon courage

  10. Les membres suivants ont remercié GeekT pour cet excellent message :


  11. #6
    Inscrit
    décembre 2012
    Messages
    658
    Remerciements
    401
    Remercié(e) 223 fois dans 114 messages
    Pouvoir de réputation
    7

    Re : Programmation web : Liste des utilisateurs connectés à une base de données MySql

    Salut,

    Merci GeekT d'avoir lu ma question parce que j'ai perdu espoir de recevoir une réponse c'est vrai j'avoue que je n'arrive tjrs pas à sécuriser ma base de données , et honnêtement je ne sais pas le faire enfin mis à part quelques mots de passe!!

    Merciiiiiii Habibal la vérité j'ai pensé à cette idée mais je n'arrivais pas à la programmer , elle est très intéressante comme solution (je n'ai jamais entendu parler de la solution de 'mateo' j'apprends tjrs avec tes réponses)!! mais dans le cas de l'adressage dynamique (serveur DHCP) et si "un user" change de poste d'accès au serveur cmt je dois faire .

    Je viens de partager sur le lien suivant (connexion) l'idée que j'ai exprimé auparavant!! j'aimerai bien avoir votre idée sur mon programme!! je sais que c'est un programme loin d'être professionnel et il est non plus sécurisé mais il fonction lol. (je le partage peut-être il servira quelqu'un d'autre enfin je l'espère lol).

    Nom de la base de données 'bd'
    Nom de la table 'users' composée de 4 champs (id, user, password, connect). par défaut connect=0.

    - Si quelqu'un veule consulter la base de données il doit avoir un compte déjà sur la table ''users'' (sur la page index.htm)
    - Lorsqu'il se connecte son "user" sera affiché parce que la valeur de connect de ce user devient 1 (sur la page accueil.php)
    - Et dés qu'il se déconnecte la valeur de connect de ce user obtient un 0.

    Merci encore une fois Habibal et GeekT
    Dernière édition par sabrina206; 18/06/2013 à 20h58

Sujets similaires

  1. [Résolu] PHP exporter les données de plusieurs tables MySql dans le même classeur Excel
    Par sabrina206 dans le forum Programmation
    Réponses: 5
    Dernier message: 10/04/2013, 23h28
  2. Données privées : Facebook appelle ses utilisateurs à voter
    Par Essedik dans le forum Actualité informatique et high tech
    Réponses: 0
    Dernier message: 04/06/2012, 11h08
  3. Google+ réactive les invitations pour "doubler sa base d'utilisateurs"
    Par Essedik dans le forum Actualité informatique et high tech
    Réponses: 0
    Dernier message: 07/07/2011, 13h17
  4. SkySQL livre un référentiel pour les bases de données MySQL
    Par Maverick dans le forum Actualité informatique et high tech
    Réponses: 0
    Dernier message: 16/04/2011, 16h52

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas modifier vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé



Liens annexes