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 les Membres Connectés


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Points : 52
    Points
    52
    Par défaut Afficher les Membres Connectés
    Bonjour,

    J'aimerai lister les membres connectés sur mon site en affichant leur avatar.
    J'ai fait un peu le tour sur internet mais je ne trouve pas de chose très efficace.
    Il me semble que le mieux est d'inscrire dans la BDD l'activité du compte de chaque utilisateur mais s'il ne s'est pas déloggé comment fait-on?

    Si quelqu'un a déjà utilisé un script pour faire ça, je suis preneur...

    D'avance, Merci

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    C'est là le grand mystère. L'utilisateur se barre sans ce déloguer...

    Il faut soit un timeout soit un evenement "unload" de la page+un timeout.

    sinon tu peux "hacker" gentillement le gestionnaire de session.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Points : 52
    Points
    52
    Par défaut
    Je fonctionne avec des cookies sur mon site et les membres ont la possibilité de cocher une case "se souvenir de moi", c'est pour ça que je suis un peu embêter.

    J'ai vu un bout de script qui récupère l'heure actuelle et l’insère dans la BDD a chaque fois que le membre navigue sur le site. Une fonction permet de vérifier le temps de la dernière action et si ça fait plus de 10min le membre est considéré comme déconnecté. Ceci me semble intéressant mais assez lourd a gérer non?

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Vatican

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2004
    Messages : 144
    Points : 238
    Points
    238
    Par défaut
    bonjour,

    tu peux tout simplement à chaque connexion d'un utilisateur, l'ajouter à une table is logged, il suffit que la session soit détruite pour le supprimer de la table is_logged.
    .
    . . Savoir, savoir faire, faire , faire savoir...

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Points : 52
    Points
    52
    Par défaut
    oui merci,
    mais comment détruire la session si l'utilisateur ne s'est pas déconnecté?

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Citation Envoyé par CedriZero Voir le message
    oui merci,
    mais comment détruire la session si l'utilisateur ne s'est pas déconnecté?
    Tu ne peux pas , les seules solutions viables sont celle évoquées précédemment :

    - Un champs "dernière action" dans une table , si ce champs vaut plus de X minutes alors l'utilisateur est déconnecté.
    Ca implique une requête de mise à jour par utilisateur et par page , et une requête pour trouver tous els utilisateur connecté. C'est donc relativement simple.

    - Un évènement javascript sur unload. A mon avis très difficile à gérer car il est impossible de faire la différence entre un changement de page et le départ de l'utilisateur.

    - Un système à base de websocket qui "ping" les utilisateurs, si l'utilisateur n'a pas répondu dans les X secondes c'est qu'il n'est plus connecté.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 143
    Points : 52
    Points
    52
    Par défaut
    D'accord merci,
    donc le mieux serait de récupérer les actions des utilisateurs
    je vais partir la dessus

  8. #8
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2007
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Ou alors tu ajoute une requête ajax invisible dans toutes tes pages.

    Toutes les X secondes il update une table dans la bdd avec un timestamp et l'ID de l'utilisateur et lorsque tu veux connaitre les users connectés, il te suffit de faire la requête sur la table ou tu sélectionne seulement les timestamp supérieurs à now - X secondes.

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    L'utilisateur qui lance une page et s'en va 3 jours , sans fermer son navigateur sera toujours considéré comme connecté à cause de la requête ajax qui se répète.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 144
    Points
    144
    Par défaut
    Une solution serait de déconnecter automatiquement un utilisateur qui ne fait rien depuis X minutes / h qui se traduit par:
    • Une requête ajax qui met à jour ta table de façon à savoir que l'utilisateur est toujours présent sur une page
    • Une fonction Ajax qui ferme ta page après X heures d'inactivité (en exécutant également une requête ajax pour le supprimer des utilisateurs connectés).
    L'art du developpement est la logique.
    Tout est possible, il suffit de chercher :p
    Si le problème est résolu
    Pense à Merci

Discussions similaires

  1. [MySQL] Séparer les membres connectés et non connectés en 2 tableaux
    Par je_suis_tres_gentil dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 12/04/2009, 19h06
  2. Afficher tous les membres connectés
    Par chrisl0 dans le forum Langage
    Réponses: 2
    Dernier message: 02/04/2009, 20h04
  3. Afficher les utilisateurs connectés
    Par benoitL39 dans le forum SharePoint
    Réponses: 1
    Dernier message: 01/02/2008, 23h40
  4. Afficher les membres connectés
    Par tano93220 dans le forum Langage
    Réponses: 4
    Dernier message: 20/09/2006, 17h32

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