05. november 2005 - 13:31Der er
16 kommentarer og 1 løsning
angående hvem er online
hej jeg har lavet et loginsystem i php der kører mysql,det virker fint men kunne godt tænke mig at lave så man kunne se hvilke nogle bruger der var online, samt antal, mere at man også kan se deres bruger navn altså hvem der er på og ikke på eer der nogle der kan hjælpe her !!!!
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Du kan oprette en kolonne i din brugerdatabase, der indeholder f.eks. et unix timestamp. Dette timestamp bliver så opdateret, hver gang en bruger sufer ind på en side i systemet. Så kan du danne din onlineliste udfra brugere, hvis timestamp er blevet opdateret indenfor f.eks. 5 min.
og hvordan laber man det min login tabel ser så dan her ud er det bare en der skal sættes på den tabel eller skal man lave en anden for at bruge timestamp
CREATE TABLE `login` ( `ID` int(11) NOT NULL auto_increment, `user` varchar(50) NOT NULL default '', `pass` varchar(16) NOT NULL default '', `ip` varchar(15) NOT NULL default '', `navn` varchar(51) NOT NULL default 'Ikke oplyst', `email` varchar(50) NOT NULL default '', `alder` char(2) NOT NULL default '0', `profiltekst` longtext NOT NULL, `fil` varchar(50) NOT NULL default '', `bopael` varchar(50) NOT NULL default '', `tlf` varchar(50) NOT NULL default '', `tid` varchar(50) NOT NULL default '', `hp` varchar(50) NOT NULL default 'Ikke oplyst', `status` char(1) NOT NULL default '', PRIMARY KEY (`ID`), UNIQUE KEY `idx_brugere` (`user`), FULLTEXT KEY `profiltekst` (`profiltekst`) ) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=1 ;
Synes godt om
Slettet bruger
05. november 2005 - 14:07#3
alter table 'login' add column time as timestamp default now()
hvis man logger på så der jo ikke noget skal man tilføre tiden selv i scriptet login eller hvorhenne ??
Synes godt om
Slettet bruger
05. november 2005 - 14:26#11
På alle sider skal du have en
update login set time = now() where id = <den aktuelle brugers id>
du skal også have et script som nogle gange hvor længe siden det er en bruger har været aktiv. Eks. hver tyvende minut og hvis der ikke har været nogen aktivitet sætter du time til null med
update login set time = null where id = <den aktuelle brugers id>
husk der ikke må være NOT NULL constraint på kolonnen hvis det skal kunne fungerer som beskrevet ovenfor.
hvordan laver man så scriptet der henter og ser om der står noget i timestamp og sætter dem der er logget på i online og dem der ikke er i offline
<? include("access.php"); $sql = mysql_query("SELECT id, user, timestamp as tid FROM login ORDER by user asc"); echo "Komplet liste over dem der er online"; $strNumber = 0; while($row = mysql_fetch_array($sql)) { $strNumber = $strNumber+1; echo "<tr> <td width='100'>$strNumber - $row[navn] <br>Brugernavn: $row[user]</td></tr>"; } ?>
eller er jeg helt galt på den
Synes godt om
Slettet bruger
05. november 2005 - 14:33#13
SELECT id, user, timestamp as tid FROM login WHERE not time is null ORDER by user asc
mmmm er ikke helt med scriptet ser således ud men der kommer ikke noget frem
<? include("access.php"); $sql = mysql_query("SELECT id, user, timestamp as tid FROM login WHERE not time is null ORDER by user asc"); echo "Komplet liste over dem der er online"; $strNumber = 0; while($row = mysql_fetch_array($sql)) { $strNumber = $strNumber+1; echo "<tr> <td width='100'>$strNumber - $row[navn] <br>Brugernavn: $row[user]</td></tr>"; } ?>
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.