Une liste des connectés sur son site !

Résolu
Utilisateur anonyme -  
Bilow Messages postés 1014 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je suis en train de créer un espace membres, et je voudrais créer une liste des connectés dans les 5 dernières minutes par exemple.
Mais je ne sais pas comment m'y prendre.
Je penserai créer une table connectés avec le pseudo et le temps de dernière connection qui ne récupère que les membres n'ayant une date proche du temps actuel. Auriez-vous une autre idée ???
Merci !!!!




A voir également:

4 réponses

Bilow Messages postés 1014 Date d'inscription   Statut Membre Dernière intervention   117
 
Salut,

Avec l'AJAX c'est plus compliqué et à quelques seconds près...

Voici une des possibilités :

A chaque fois que l'utilisateur appelle une page, on enregistre ou on met à jour son IP ($_SERVER['REMOTE_ADDR']), et l'heure actuelle ( time() ).

Pour connaître le nombre de clients, deux étapes :
- Supprimer les entrées datant de plus de 5 minutes (en considérant que les utilisateurs n'ayant pas navigué depuis 5 minutes sont partis);
- Compter le nombre d'entrées restantes ( SELECT COUNT(*) FROM ... ).

Pour être plus précis (à quelques secondes près), on peut en effet utiliser un système d'AJAX, mais là il faut utiliser Javascript (avec XMLHTTPRequest) et ça devient dur. Mais c'est possible (et peu utile je trouve).

;-)
1
loveparade Messages postés 506 Date d'inscription   Statut Membre Dernière intervention   60
 
Oui tu peux maintenir en DB les utilisateurs logues a leur session utilisateur avec les dates des dernières requêtes faites sur le site. Tu maintiens ca a jour en Ajax par exemple comme ca pas trop de soucis. Puis toutes les X minutes inactivité, tu ferme leur session comme ca tu as une liste proche de la vérité selon une durée.

join us now and share the software
you'll be free hackers you'll be free
0
Utilisateur anonyme
 
Merci pour toutes ces idées, je vais donc faire une façon plutôt proche des vôtres, sur chaque page, je met un code qui récupère la sessions contenant le login du membre et qui récupère le time().
Il les insert dans une table "connectes" et un code situé dans un <div></div>affiche les pseudos des membres dont la date n'est pas très éloigné (5min). Et donc se système est assez précis, car même si il le membre ne change pas de page pensant 10min, il apparaîtra déconnecté auprès des autres mais dès qu'il rechangera de page, il sera reconnecté.

0
Bilow Messages postés 1014 Date d'inscription   Statut Membre Dernière intervention   117
 
Ok, c'est bon comme système. Essaie maintenant de le coder... Tu peux toujours venir ici si tu as un problème, mais cherche avant ;-)
0
Utilisateur anonyme
 
Ok j'ai quelques soucis avec la partie qui affiche les pseudos. C'est le time() qui m'embête.
Je cherche et en cas de souci(s), j'appelle à l'aide !!
0
Bilow Messages postés 1014 Date d'inscription   Statut Membre Dernière intervention   117
 
Quand un visiteur connecté ou non appelle une page, tu introduis dans ta base MySQL :
- Le pseudo de la session ou l'IP
- Et le temps ;-)
0