15. maj 2003 - 18:43Der er
22 kommentarer og 1 løsning
sidst aktiv/online brugere
jeg vil gerne lave sådan et system hvor man kan se hvilke brugere der er online på siden...
jeg vil ikke bruge de der popop som dukker op når man lukker browseren ned...
har hørt noget om en sidst aktiv som opdaterer hver gang man navigerer sig rundt på siden...
prøvede så at lave det med tid ved at smide klokkeslæt ind...f.eks 1843 og så hvis man ikke har været aktiv i 10 minutter vil den smide en af..
men der går jo 60 minutter 1 time og ikke 100 så jeg kan ikke bruge det da 1900 er 40 "minutter" fra 1859..så den smider alle af hver gang en time er gået..
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
$ligenu = date("Y-m-d H:i:s"); @mysql_query("UPDATE brugere SET status='online', sidst='$ligenu' WHERE brugernavn='$_COOKIE[brugernavn] AND kodeord='$_COOKIE[kodeord]' ");
det skal være en der tjecker om indenfor de sidste 10 minutter....hvis der ik er noget slettes han fra databasen, eller som du siger, sættes til offline...
din tjecker jo ik om der er sket noget indenfor de sidste 10 minutter...den sætter bare til offline...
jamen så skal du bare lade det være præcis som det er, og hvis du vil vise hvornår brugeren sidst var online eller hvor længe han/hun har været på skal du bruge:
<?php $hentbruger = @mysql_query("SELECT * FROM brugere"); $vb = @mysql_fetch_array($hentbruger); while ($vb) { $vbruger $vb['brugernavn']; $vstatus $vb['status']; $vdato = explode(" ", $vb['sidst']); $diff = strtotime(date("Y-m-d")) - strtotime($vdato[0]); $dage = floor($diff / 86400); if ($vlog>0) { if ($dage>0) { if ($dage==1) { $datoinfo = "(sidst på: i går kl. $vdato[1])"; } elseif ($dage>1) { $datoinfo = "(sidst på: $dage dage siden)"; } } else { $datoinfo = "(sidst på: i dag kl. $vdato[1])"; } } if ($vstatus=="offline") { $statinfo="offline $datoinfo"; } elseif ($vstatus=="online") { $statinfo="online siden kl. $vfoerst"; } echo $vbruger." - ".$statinfo."<br>"; $vb = @mysql_fetch_array($hentbruger); } ?>
<?php $hentbruger = @mysql_query("SELECT * FROM brugere"); $vb = @mysql_fetch_array($hentbruger); while ($vb) { $vbruger $vb['brugernavn']; $vfoerst = explode(" ", $vb['foerst']); $vstatus $vb['status']; $vdato = explode(" ", $vb['sidst']); $diff = strtotime(date("Y-m-d")) - strtotime($vdato[0]); $dage = floor($diff / 86400); if ($vlog>0) { if ($dage>0) { if ($dage==1) { $datoinfo = "(sidst på: i går kl. $vdato[1])"; } elseif ($dage>1) { $datoinfo = "(sidst på: $dage dage siden)"; } } else { $datoinfo = "(sidst på: i dag kl. $vdato[1])"; } } if ($vstatus=="offline") { $statinfo="offline $datoinfo"; } elseif ($vstatus=="online") { $statinfo="online siden kl. $vfoerst[1]"; } echo $vbruger." - ".$statinfo."<br>"; $vb = @mysql_fetch_array($hentbruger); } ?>
selve FORSIDEN på din hjemmesiden skal indeholde: <? $hentbruger = @mysql_query("SELECT foerst FROM brugere WHERE brugernavn='$_COOKIE[brugernavn] AND kodeord='$_COOKIE[kodeord]' "); $vb = @mysql_fetch_array($hentbruger); $foerst $vb['foerst']; if ($foerst < date("Y-m-d H:i:s", (time()-3600))) { $ligenu = date("Y-m-d H:i:s"); @mysql_query("UPDATE brugere SET status='online', foerst='$ligenu', sidst='$ligenu' WHERE brugernavn='$_COOKIE[brugernavn] AND kodeord='$_COOKIE[kodeord]' "); } ?>
alle andre sider skal indeholde:
<? $time = date("Y-m-d H:i:s", (time()-300)); // MIN @mysql_query("UPDATE brugere SET status='offline' WHERE sidst < '$time' "); $ligenu = date("Y-m-d H:i:s"); @mysql_query("UPDATE brugere SET status='online', sidst='$ligenu' WHERE brugernavn='$_COOKIE[brugernavn] AND kodeord='$_COOKIE[kodeord]' "); ?>
din tabel i databasen kunne se ca. sådan her ud:
CREATE TABLE brugere ( id int(11) NOT NULL auto_increment, brugernavn varchar(30) NOT NULL, kodeord varchar(250) NOT NULL, foerst datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, sidst datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, status varchar(10) NOT NULL, PRIMARY KEY (id) );
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.