Avatar billede qilanto Nybegynder
26. maj 2002 - 20:47 Der er 6 kommentarer og
1 løsning

OnSite med php

Jeg vil gerne lave en ONLINE counter, som viser hvor mange der pt. har et vindue åben med min side på. Det skal gøre med php/mysql helst.

Men jeg ved også der er noget der hedder onload med Javascript.... men ved ikke lige hvad jeg skal gøre med det.

Altså.. nogen der lige kan komme med et tip til hvordan jeg får bixet mig en god ONLINE USERS counter op

Avatar billede morph Nybegynder
26. maj 2002 - 20:55 #1
$elapsedtime = time()-(1*60);
$ip = getenv('REMOTE_ADDR');
$result = mysql_query("INSERT INTO useronline VALUES ('".time()."','$ip')");
$result = mysql_query("DELETE FROM useronline WHERE time<'$elapsedtime'");
$result = mysql_query("SELECT DISTINCT ip FROM useronline");
$totalusers = @mysql_numrows($result);
echo "<font class='text'>".$totalusers." brugere online</font>";

med en mysql tabel der ser nogenlunde sådan ud
CREATE TABLE useronline (
  time int(15) NOT NULL default '0',
  ip varchar(15) NOT NULL default '',
  KEY ip (ip),
  KEY time (time)
)

håber det hjalp
Avatar billede qilanto Nybegynder
26. maj 2002 - 21:03 #2
hmmm.. måske virker det, men en smule forklaring ville være nice )
Avatar billede morph Nybegynder
26. maj 2002 - 21:06 #3
Start med at oprette den tabel

Derefter kaster du bare de script ind hvor du gerne vil have det vist. Resten kører af sig selv :)
Avatar billede qilanto Nybegynder
26. maj 2002 - 21:07 #4
hehe... jaaa..men nu er jeg jo typen der godt kan li' at forstå mine koder. Jeg er ved at smide det ind. Men be kind og forklare det.
Avatar billede morph Nybegynder
26. maj 2002 - 21:10 #5
$elapsedtime = time()-(1*60); // start med at lave nu minus en time
$ip = getenv('REMOTE_ADDR'); // her får vi brugerens ip adresse
$result = mysql_query("INSERT INTO useronline VALUES ('".time()."','$ip')"); // her indsætter vi data
$result = mysql_query("DELETE FROM useronline WHERE time<'$elapsedtime'"); // Her sletter vi data der er mere en 1 time gammel
$result = mysql_query("SELECT DISTINCT ip FROM useronline"); // Her henter vi alle unique ip'er fra useronline
$totalusers = @mysql_numrows($result); // Her tæller vi hvor mange vi fik tilbage fra sidste forspørgsel til databasen
echo "<font class='text'>".$totalusers." brugere online</font>"; Her skriver vi vores output
Avatar billede qilanto Nybegynder
26. maj 2002 - 21:15 #6
Tak .. og det virker fint.  SELECT DISTINCT  <-- tæller hvor mange forskellige værdier der er i fx ip ... right? :)
Avatar billede morph Nybegynder
26. maj 2002 - 21:18 #7
Det er correct :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester