PHPNET Assistance

Support et Entraide PHPNET => Forum de programmation => Discussion démarrée par: ANTHONY le 06 juin 2003 à 21:14:33

Titre: Who Is Online ?
Posté par: ANTHONY le 06 juin 2003 à 21:14:33
Bonjour, je cherche à savoir comment faire pour lister sur une page les nom des membres de mon site présents sur cette page là depuis les 10 derniere minutes.
Genre à chaque page j'insert dans une table le nom du membre et l'heure, mais comment est-ce que je met ma base à jour quand celui-ci s'en va ?
Titre: Who Is Online ?
Posté par: Jacques Ghémard le 06 juin 2003 à 22:29:17
Ben, comme tu dis, au bout de 10 minutes !

Chaque fois qu'une page est demandée, tu met dans ta liste le nom de celui qui la demande (et l'heure H) et tu retires de ta liste ceux dont la dernière demande est plus vieille que H-10 minutes.

Amicalement
Jacques
Titre: Who Is Online ?
Posté par: didiou le 07 juin 2003 à 12:56:21
Tout à fait comme le dit Jacques, j'ai fait sur mon site un système équivalent qui me met les utilisateurs "online", tu peux le voir ici: http://didiou.com/france-darts.net/index.p...fiche_stats.php (http://didiou.com/france-darts.net/index.php?contenu=affiche_stats.php) :rolleyes:  
Titre: Who Is Online ?
Posté par: MaximuS le 09 juin 2003 à 22:43:58
Ouais mais c koi la source, ou au moins un portion.
merci :)  
Titre: Who Is Online ?
Posté par: Patanock le 10 juin 2003 à 10:56:48
// récupération du nombre de connectés
   $duree_estimee = 120; //On estime à 120 secondes le temps qu'un visiteur reste sur une page
   $limite = time() + $duree_estimee;
   $connection->fExecQuery("delete from NB_CONNECTES where IP='$REMOTE_ADDR' or DATE < ".time());  //On efface le visiteur en cours et ceux dont le temps a expiré
   if ($ident)
    $connection->fExecQuery("insert into NB_CONNECTES(ID,IP,DATE,PSEUDO,ID_USER,HOST) values ('','$REMOTE_ADDR','$limite','" . $user->fGetPseudo(1) . "','" . $user->fGetId(1) . "', '" . gethostbyaddr(getenv(REMOTE_ADDR)) . "')"); //On rajoute le visiteur en cours avec une nouvelle date
   else
    $connection->fExecQuery("insert into NB_CONNECTES(ID,IP,DATE,PSEUDO,HOST) values ('','$REMOTE_ADDR','$limite','visiteur', '" . gethostbyaddr(getenv(REMOTE_ADDR)) . "')"); //On rajoute le visiteur en cours avec une nouvelle date
$connection->fExecQuery("select *, count(*) as NOMBRE from NB_CONNECTES group by PSEUDO");
while ($champs=$connection->fGetNextRecord()) {
  if ($champs["PSEUDO"] == "visiteur" && $champs["NOMBRE"] > 1) {
   $pseudos_connectes[] = $champs["NOMBRE"] . " visiteurs";
   $nb_connectes += $champs["NOMBRE"];
  } else {
   $id_connectes[] = $champs["ID_USER"];
   $pseudos_connectes[] = fConvertString($champs["PSEUDO"], 2);
   $nb_connectes++;
  }
}