Soyez le premier à donner votre avis sur cette source.
Snippet vu 8 648 fois - Téléchargée 30 fois
// le code à insérer sur chaque page (il est préférable de le mettre dans un include pour pas envahir votre code ;) ////////////////////////////////////// $id_user=(is_online())?($_SESSION[id_mb]):(0); $t=mysql_query("select * from sessions where phpsessid='".session_id()."';"); if(mysql_num_rows($t)==1 && $_SESSION[id_session]==mysql_result($t,0,'id')){ //session déjà registrée mysql_query("update sessions set id_user='$id_user',date_fin=NOW(),url_page='$_SERVER[REQUEST_URI]' where id='$_SESSION[id_session]' and phpsessid='".session_id()."';"); }else{ //new session mysql_query("delete from sessions where phpsessid='".session_id()."';"); //supprime l'éventuelle session qui a le meme phpsessid if(is_online()) mysql_query("delete from sessions where id_user='$_SESSION[id_mb]' and phpsessid<>'".session_id()."';"); mysql_query("insert into sessions (phpsessid,id_user,ip,date_debut,date_fin,url_page) values ('".session_id()."','$id_user','$_SERVER[REMOTE_ADDR]',NOW(),NOW(),'$_SERVER[REQUEST_URI]');"); $_SESSION[id_session]=mysql_insert_id(); session_register("id_session"); } //maintenant faut faire le ménage pour voir ceux qui se sont déconnectés entre temps $connectes=mysql_query("select * from sessions order by date_fin asc"); $limite=mktime(date('H'),date('i')-10,date('s'),date('m'),date('d'),date('Y')); for($i=0;$i<=mysql_num_rows($connectes)-1;$i++){ $date_fin=strtotime(mysql_result($connectes,$i,'date_fin')); if($date_fin<$limite){ mysql_query("delete from sessions where id='".mysql_result($connectes,$i,'id')."';"); }else break; //pour pas tous les reparcourir pk c trié dans l'ordre date_fin asc } //et le code à mettre aussi sur chq page qui affiche le nombre de connectés et de visiteurs ////////////////////////////////////// $mb_connectes=mysql_query("select * from sessions where id_user<>'0';"); $nb_mb_connectes=mysql_num_rows($mb_connectes); $connectes=mysql_query("select * from sessions where id_user='0';"); $nb_connectes=mysql_num_rows($connectes); echo number_format($nb_connectes,0,'',' ').' visiteurs'; echo ', '; echo number_format($nb_mb_connectes,0,'',' ').' membres';
17 août 2004 à 13:15
26 sept. 2005 à 13:50
23 déc. 2005 à 16:40
j'ai fait un essais
mon message d'erreur est
Fatal error: Call to undefined function: is_online() in c:\documents and settings\claude\mes documents\testsphp\chap08\Online.php on line 5
debutant en php quelqu'un peut il m'expliquer
je ne trouve nul part d'explication sur la function is_online()
merci par avance
Guardian
7 janv. 2006 à 17:05
3 mars 2006 à 21:54
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.