15. juni 2006 - 05:45Der er
3 kommentarer og 1 løsning
Vis brugere der er logget ind?
Hej
Pt. sætter jeg nogle $_SESSION variabler om brugeren når han/hun er logget ind, og gemmer login timestamp i user_table.
Men hvordan ser jeg hvilke brugere der er logget ind? Det er jo ikke nok bare at se på login timestampet, eftersom det bare viser tidspunktet hvor brugeren sidst loggede ind.
Er der nogen der har en idé om hvordan man gør det?
Hver gang en bruger henter en side lave du en update på en der hedder last_seen og så siger du bare dem der er online er dem hvis last_seen maks er x antal minutter gammel.
Du kan f.eks lave 2 ekstra felter i brugertabellen.
onoff = varchar(3) sidstset = DATETIME
Og så kører du bare dette script i toppen af hver side.
if($_SESSION['login'] == true){ mysql_query("UPDATE brugerTabel SET onoff = 'on', sidstset = NOW() WHERE brugerID = '$_SESSION[id]' LIMIT 1") or die(mysql_error()); } mysql_query("UPDATE brugerTabel SET onoff = 'off' WHERE DATE_ADD(sidstset, INTERVAL 15 MINUTE) < NOW()") or die(mysql_error());
Du skal bare huske at ændre navnene på tabeller osv. og "INTERVAL 15 MINUTE" er det tidsinterval der skal gå før man bliver logget ud siden man sidst har opdateret siden.
$q = mysql_query("SELECT * FROM brugerTabel WHERE onoff = 'on' ORDER BY id") or die(mysql_error()); while($r = mysql_fetch_assoc($q)){ echo $r['brugernavn']." er ".$r['onoff']."line.<br />"; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.