09. august 2005 - 15:58Der er
6 kommentarer og 1 løsning
online brugere
Jeg har fundet nedenstående script her på exp. Men det virker helt så vidt jeg kan se.
Der bliver ikke slettet fra databasen selvom en aktiv bruger logger sig af.
Er der en der kan se hvorfor ?
<?php $connection = mysql_pconnect("host", "user", "pass"); mysql_select_db("database"); $ip = getenv(REMOTE_ADDR); $tid = date("Y-m-d H:i:s", (time()-600)); mysql_query("DELETE FROM online WHERE tid < '$tid'");
$tjek = mysql_query("SELECT * FROM online where ip='$ip'"); if(mysql_num_rows($tjek) == 0) { mysql_query("INSERT INTO online (tid, ip) VALUES (now(),'$ip')"); } else { mysql_query("update online set tid=now() where ip='$ip'"); } $online = mysql_query("SELECT * FROM online"); echo "Der er lige nu ".mysql_num_rows($online)."online"; mysql_close($connection); ?>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvad mener du med logger af? Det script der er sat op til at slette brugere som ikke har været online de sidste 10 minutter. Hvis du har en knap som hedder log ud, kan du evt lave et script som sletter brugeren fra din DB.
med "logge af" mener jeg at lukke browseren så man ikke længere er på den side hvor scriptet er. Selvom jeg lukker browseren ned, bliver brugeren ved med at være i databasen. Den sletter altså ikke som den skal efter 10 minutter..
Jeg har fundet ud af det. Jeg havde lavet en skrivefejl da jeg "oversatte" scriptet til min egen Mysql. Jeg havde glemt at ændre "online" i nedenstående linie til mit eget databasenavn. Nu virker det som det skal :o)
mysql_query("DELETE FROM online WHERE tid < '$tid'");
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.