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)
------------------------------Mon blog : http://blog.rownage.ch Actualités Wii et programmation et d'autres de mes découvertes !
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++
------------------------------Config: ASUSTeK P5K-E / GeForce 9600 GT - 512 Mo / 500 Go Samsung SpinPoint F1/ DVDR Plextor / 3.2 Go RAM / 2 écrans TFT 19'' / Intel Core 2 Quad Q6600
Répondre à The_Greek22
Mais je sais que c'est possible 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
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.
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".
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
[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...
Message édité par demo_jouable le 01-07-2007 à 15:13:35
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]'"
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.