Se connecter / S'enregistrer
Votre question

[PHP] Membres en ligne

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
30 Juin 2007 18:41:17

Bien le bonjour :) 

Je cherche a faire un petit script qui permet d'afficher les membres en ligne sur mon site, pour cela je comptais faire un script qui s'actualise tout les x temps pour mettre un champ dans la MySQL a jour.

Mon problème est que je ne sais pas comment faire pour que seul une partie de ma page se refresh, j'ai aucune envie de mettre un refresh sur toute la page ou de faire avec une frame qui se rafraichi :)  (c'est trop hideux)

Autres pages sur : php membres ligne

30 Juin 2007 19:25:04

Salut!
Je sais pas si je te serai utile, mais j'avais fais un système identique à l'époque.

Je pense que faire une refresh sur une seule partie de la page n'est pas possible (enfin c'est à confirmer) ou alors je ne sais pas comment faire. Sur mon site, la liste des membres connectés était actualisé a chaque fois que le membre actualisait lui même la page ou cliquait sur un nouveau lien sur le site.
Je te conseille donc de pas faire un truc trop compliqué avec des refresh automatiques, ça risque d'être assez "lourd" pour quelques visiteurs. :) 

A++
30 Juin 2007 19:50:53

Salut :) 
D'abord merci de ta réponse.

Mais je sais que c'est possible :p  mais le seul souci c'est que je n'ai aucune connaissance du Javascript.

Enfaites ce que je compte faire, c'est un petit jeu, dans lequel on peut défier uniquement les utilisateurs en ligne.

J'ai déjà pensé faire un système comme tu m'as dis, mais si l'utilisateur est en standby, il fait autre chose pendant un certain temps, il sera considerer comme off-line et c'est pas ce que je veux, je veux que si le gars et sur mon site et loggé, on peut le defié, même si ca fait 5min qu'il a pas touché au site :) 
Contenus similaires
30 Juin 2007 19:51:56

a ok
Alors dsl je sais pas comment faire ^^

Bonne chance :) 
30 Juin 2007 20:44:42

Le problème de ce genre de script, c'est qu'il faut actualiser souvent la page, ce qui peut poser un problème pour les connections bas-débit.

Tout d'abord, sache que tu peux faire des auto-refresh de ta page web sans utiliser le JavaScript, grâce à une metabalise :

<META http-equiv="Refresh" content="x"> où x représente le nombre de secondes avant le prochain raffraichissement.

Pour voir une liste de personnes connectées, je te renvoie à cette page : http://www.amen.fr/forum/read.php?f=6&i=18&t=18

Si tu es en création d'un jeu, je suppose que tu as des solides bases en PHP&SQL; ce ne sera pas donc très dur d'intégrer un champ 'pseudo' à la table crée. Ensuite il suffit d'intégrer le code dans ta page et de le coupler à tes sessions. En vérité ce n'est pas très dur, le plus compliqué t'es fourni sur la page.

En espérant que ça t'aura aidé!
30 Juin 2007 21:02:06

Salut,
Je connaissais déjà cette solution, mais c'est pas la bonne :)  cette solution rafraichi toute la page, ce que je veux éviter.

Et comme je l'ai expliqué en haut, lorsque l'utilisateur est en standby, il faut que l'utilisateur s'affiche toujours connecté, alors que dans le lien que tu m'as donnés après 30 secondes d'inactivités (si je m'en souviens bien) il sera plus marqué comme "en-ligne".
1 Juillet 2007 15:12:02

j'avais compris que c'était une portion de page, mais j'ai oublié d'exposer mon idée; je viens de m'en rendre compte en relisant mon message :$

Je me disais que tu pourrais utiliser une iframe : <iframe src="">, je sais pas pourquoi tout le monde me dit que c'est pas bien, mais moi j'en utilise pas mal, et je n'ai jamais eu de problème de compatibilité, de ralentissement ou d'esthétisme... Tu peux ensuite mettre un auto-refresh sur cette frame

C'est une idée comme une autre :p 

[EDIT] : encore oublié un truc -_- : tu peux définir le temps au bout duquel l'utilisateur sera considéré comme inactif il me semble, j'avoue que j'ai pas exploré le code de fond en comble...
18 Mars 2009 12:08:28

Bonjour a tous

il y a plus simple en créant une liste connecté dans ta table membres INT (0 et 1) à chaque fois que le membre passe par la page connect tu fais un update qui change ton 0 en 1 et pour récupéré tu fais un select pseudo from membres where connecté=1

j'mexplique

dans ta table membre tu crées un nouveau nom "connecté" en "INT" valeur par défaut "0"

ensuite a chaque fois que le membre se connecte tu crée un update qui change le 0 en 1

$sql= "UPDATE membres
SET connecté = 1
WHERE pseudo='$_POST[pseudo]'"

pour afficher la liste des membres connecté ta juste a récupéré la liste avec un "select pseudo from membres where connecté=1"


pour afficher le nombre de visiteurs connectés c'est simple on ajoute COUNT(*) au select ce qui donne:

$retour = mysql_query("SELECT COUNT(*) connecté FROM membres WHERE connect=1");
$donnees = mysql_fetch_array($retour);

echo '<p>il y\'a ' .$donnees['connecté'].' membres connectés</p>';

ne pas oublier de remettre a 0 a chaque fois que le membre se déconnecte

$sql= "UPDATE membres
SET connecté = 0
WHERE pseudo='$_SESSION[pseudo]'"
31 Octobre 2014 21:34:20

Salut,
j'ai mis ton script en place mais j'arrive à afficher que le 1er membre connécté de la colonne sql
tu sais pourquoi?
a b L Programmation
31 Octobre 2014 23:12:23

lemaltais17 a dit :
Salut,
j'ai mis ton script en place mais j'arrive à afficher que le 1er membre connécté de la colonne sql
tu sais pourquoi?


LA DATE DU TOPIC BOURDAYL §§§§
31 Octobre 2014 23:45:49

oui j'avais bien vu....
pas grave la solution est une boucle!

[code="php"]while ($enligne = mysql_fetch_array($membres)) {
echo '<p><strong class="rouge">'.$enligne['username'].'</strong></p>';[/code="php"]
;-)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS