Ciao a tutti nel mio sito web vorrei inserire uno script per gli utenti online in quel momento...qual'è lo script?
Printable View
Ciao a tutti nel mio sito web vorrei inserire uno script per gli utenti online in quel momento...qual'è lo script?
Ciao Miki92,grazie per i link che mi hai suggerito...ma purtroppo io nn volevo intendere un contatore...ma lo script come su http://www.forumforyou.it all'inizio pagina...ecco quello intendo...
Certo, intendevi uno script che ti dica quanti utenti sono realmente on-line vero? Beh i link che ti ho postato fanno al caso tuo!
Si io li ho visitati ma come ho detto prima sono solo dei contatori...
Ma cosa dici mai? Il secondo link e un contatore di utenti on-line!
.....
Ma come si fa ad assegnare un username ad un IP? Gli IP cambiano sempre, è poi a cosa servirebbe? Se vuoi mostrare i nick dei tuoi utenti in linea potresti usare i cookie per memorizzare il loro nick grazie a un javascript.
io ho elaborato questo:
dovrebbe bloccare anche le doppie visualizzazioni cmq da solo non sono riuscito a provarlo piu di tanto..... XDCodice PHP:<?
// Matt's PHP script
$file="online.txt"; //file per database
$path="."; //senza la slash alla fine
$user=$_SERVER['PHP_AUTH_USER']; //specificare la variabile contenente l'user
$logintime="30"; //tempo per quanto l'utente rimane connesso (in secondi)
//do not edit
$fileonline=$path."/".$file;
setcookie('user', $user, time()+36000);
setcookie('time', time(), time()+36000);
foreach(file($fileonline) as $riga){
$p=explode("|",$riga);
$ip=$p['2'];
if($_SERVER['REMOTE_ADDR']==$ip){
$esegui="upgrade";
$timeon=$p['1'];
}
$line="";
$prec="";
}
if($esegui==''){
$prec=file_get_contents($path."/".$file);
fwrite(fopen($path."/".$file,"w+"), $prec."\n".$user."|".time()."|".$_SERVER['REMOTE_ADDR']);
}
if($esegui=='upgrade'){
$prec=file_get_contents($path."/".$file);
$newtime=time()+36000;
$new=str_replace($user."|".$timeon."|".$_SERVER['REMOTE_ADDR'], $user."|".$newtime."|".$_SERVER['REMOTE_ADDR'], $prec );
fwrite(fopen($path."/".$file,"w+"), $new);
}
$online="0";
$usonline="";
foreach(file($fileonline) as $riga){
$part=explode("|",$riga);
$tempo=($part['1']+$logintime);
if($_COOKIE['time'] > $tempo){
//cancellazione utente dalla lista
str_replace("\n".$part['0']."|".$part['1'], "",file_get_contents($path."/".$file));
}else{
$online=($online+1);
$usonline=$usonline.", ".$part['0'];
}
}
echo $usonline
?>
PS: per usarlo basta richiamare il file dello script con include("online.php"); :wink: