Bonsoir 2

Répondre
Lefounard
le 19/07/2004 à 22:07
Lefounard
Salut a tous je voulais savoir comment faire (car dans ma petite je reflechis pas trop en ce moment) le script du nombre de connecté et l'adapter pour afficher aussi le nombre de membres connectés ?
Merci !
I am singing in the rain , I am happy again !!
moogli
le 19/07/2004 à 22:23
moogli
Le nombre de connecté c'est dans les comment faire.

Pour le nombre de connecté tu peut ajouter un champ a ta table Membre avec pour vlaleur 1 ou 0 pour memebre ou non
pour savoir le nombre de membre connecté tu fait un count(*) WHERE membre="1" .....

c'est une solution comme une autre qui a l'aventage de pas trop de prendre la tête a mettre en oeuvre smiley

je ne sais pas comment est le script en détails mais je pense que tu devrait pas surchauffer a adapter smiley

@+
Il en faut peu pour être heureux !!!!!
moogli
le 20/07/2004 à 01:06
moogli
Ben j'avait que sa a faire
=>
Le code modifer ( j'ai ajouter 10lignes ...)
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1558]ce lien[/lien])


la table Mysql qiu va avec

CREATE TABLE nb_online (
ip VARCHAR(15) NOT NULL,
time bigint (16) NOT NULL default '0',
membre int(1) NOT NULL default '0'
) TYPE=MyISAM;


Voila qui doit fonctionner, si tu veut faire comme la Globule et mettre le nom des membre connecté tu remplace le 1 du champ membre par son pseudo ou son id dans ta table mebre (cela nécéssite de modifer le champs membre =>varchar ou int + grand) et sur une tpage tu affiche les connectés donc le champ membre est != de 0.
Pendant que j'y pense cela nécéssite aussi de changer la requete qui compte le nombre de membre connecté(s) (avec le != de 0).

@+
Il en faut peu pour être heureux !!!!!
Lefounard
le 20/07/2004 à 18:04
Lefounard
Je vais rejouter une condition if sur le script sauf au lieu de rentrer un ip juste comme ca , je veux rentrer le $_SESSION['pseudo'] ouvert du membre connecté !


$ip_client = $_SERVER['REMOTE_ADDR'];

// on prépare une requête SQL permettant de rechercher cette adresse IP dans notre table, afin de voir si le client qui charge la page n’est pas déjà comptabiliser (en clair : si on trouve l’adresse IP, cela veut dire que le client ne charge pas pour la première fois une page du site, et que donc, nous n’aurons juste à modifier le champs time du tuple le concernant ; si l’on ne trouve pas cette adresse IP dans la table, cela veut dire que soit le client n’a jamais chargé une page du site, soit il l’a fait, mais il y a plus de 3 minutes, ce qui implique qu’il a été supprimé de la table : et dans ces deux cas, il faudra l’insérer dans la table pour le comptabiliser comme étant un nouveau connecté).


$membre_on_line= $_SESSION['pseudo'];

$sql = 'SELECT * FROM nb_online WHERE ip= "'.$membre_on_line.'"';


$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


$nb_membre_online = mysql_num_rows($req);


mysql_free_result($req);

if ($nb_membre_online) {
.....
....
...

Je doute sur le debut de mon petit code ?
Merci
I am singing in the rain , I am happy again !!
moogli
le 20/07/2004 à 18:17
moogli
Eu je crois que tu te plante (désoler)

dans ta requete tu cherche une ip (exd 127.0.0.1) qui est égale a une pseudo (lefounard, moogli ...) a mon avis tu va pa avoir grand monde sur ton site.

[list]récapitulons :
[*] récupération de l'ip du visiteur
[*] on cherche l'ip du visteur dans la base
[*] si l'ip est dans la base on change le temps de fin
[*] si l'ip est pas dans la base on l'insère
[*] On cherche le nb total de visiteur
[*] On cherche le nb total de visiteur membre
[*] On affiche
[/list]

Pour faire la différence entre membre et visteur tu rajoute un champ membre a la table de base.

avant d'insérer l'ip dans la base tu vérifie si une variable de session pseudo existe (ou n'importe quel autre te permetant de vérifier qu'il s'agit d'un membre).
=> Ton client est membre tu met le pseudo dans membre
=> Tonc client est visiteur tu met 0 dans le champs membre

pour le nb de membre tu cherche tout ceux dont membre!=0.

Y te plait po mon script smiley

parce que dedans je fait exactement ce que tu veut smiley
@+
Il en faut peu pour être heureux !!!!!
Lefounard
le 20/07/2004 à 18:29
Lefounard
si je comprends le membre est reconnu a son ip ?
mais alors les ips dynamique ?
I am singing in the rain , I am happy again !!
moogli
le 20/07/2004 à 18:39
moogli
Ta tout compris.

Surtout internet la plus part des Ip clients sont dynamique.
Seul les serveurs utilises des ip static.
Cela vient du fait qu'il n'y a pa forcément assez d'ip pour tout le monde (et en plus cela permet d'évite le hack, g bien dis parfois).
La preuve de l'ip static=> ton provider te déconnect toute les 24h (environ) pour faire tourner les adresses Ip (sauf si tu a une option Ip static).
donc quoi qu'il arrive un client qui se connect/déconnect toute les 5 minutes auraont une Ip différentes (cas du 56k limité en tps).

C'est pour cela que la globule a inséré le paramètre de tps et que les ip supérieur a 3 minute sot dégager.

Si tu veut reconnaitre un client avec fiabilité il faut que tu prenne les paramètre de sa machine et ke tu lui demande un mot de passe a chaque page smiley

Sérieusement tu ne peut pas savoir autrement le nb de connecté a ton site.

@+
Il en faut peu pour être heureux !!!!!
Lefounard
le 20/07/2004 à 18:56
Lefounard
bon je l'ai dans le cul !
A quand l'ip v6 ????
Ciao
I am singing in the rain , I am happy again !!
Répondre
LoadingChargement en cours