Avatar billede kack Nybegynder
16. december 2004 - 17:27 Der er 5 kommentarer og
2 løsninger

hvor mange online?

Hey! Jeg har et community som er under udvikling. ( www.kack.dk/kackcommunity2 )

Men jeg kunne godt tænke mig at man kunne se hvor mange der er online.

Man kunne måske lave det så den tæller hvor mange sessions der er sat (når man logger ind sætter den en session)

Er langt fra ekspert til php så håber i forstår mig :)
Avatar billede madsass Nybegynder
16. december 2004 - 17:33 #1
Jamen hej Kack :)

<?
// Kode der udskriver hvor mange der er online.
$result_it = mysql_query("SELECT Count(*) as total FROM useronline");
$r = mysql_fetch_array($result_it);
echo "<b>Online:</b> $r[total]<br>";
?>

<?
// Indsæt dette på din forside hvis du bruger f.eks. ?p=Side som navigation. Hvis du ikke gør. Indsæt på alle undersider.
$deleteuser = mysql_query("DELETE FROM useronline WHERE date < $tid - 2000");
$iptjek = mysql_fetch_row(MYSQL_QUERY("SELECT * FROM useronline WHERE ip = '$ip'"));

if($iptjek == false){
$ok = @mysql_query("INSERT INTO useronline(id,ip,date) values('','$ip','$tid')");
}
?>

MySQL dumb:
CREATE TABLE online_users (
  id int(11) NOT NULL auto_increment,
  ip varchar(255) NOT NULL default '',
  date int(11) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;

Husk at connecte til MySQL i de 2 php koder ;)
Avatar billede madsass Nybegynder
16. december 2004 - 17:34 #2
Rettelse:
<?
// Indsæt dette på din forside hvis du bruger f.eks. ?p=Side som navigation. Hvis du ikke gør. Indsæt på alle undersider.
$tid = time();
$deleteuser = mysql_query("DELETE FROM useronline WHERE date < $tid - 2000");
$iptjek = mysql_fetch_row(MYSQL_QUERY("SELECT * FROM useronline WHERE ip = '$ip'"));

if($iptjek == false){
$ok = @mysql_query("INSERT INTO useronline(id,ip,date) values('','$ip','$tid')");
}
?>

Sådan skal den kode se ud ;)
Avatar billede kack Nybegynder
16. december 2004 - 17:37 #3
Jamen hej Madsas :D

Kunne det ikke gøres mere simpelt? Uden at skulle oprette mere i sin mysql databse?
Avatar billede madsass Nybegynder
16. december 2004 - 17:38 #4
Det er da simpelt nok. Du skal bare lave det MySQL dumb :)
Ellers skal du lave det i tekstfil. Mere simpelt med MySQL.
Avatar billede bumle90 Nybegynder
16. december 2004 - 17:52 #5
Det er da Fuldstændigt åndsvagt at spørge en database om hvor mange der er online...Det er jo helt forrykt.
Kack. Det eneste du behøver at gøre er at gemme en variabel i din applikationsvariable. Når en ny session starter tæller du denne op. Når sessionen slutter tæller du variablen ned.
Når du skal skrive ud santal brugere ud skriver du blot applikationsvarablen ud på siden.
At oprette en tabel til det i databasen er total misbrug af databasen og tyder på mangel på forståelse for hvordan en webappliaktion laves og datalogi generelt!
Avatar billede kack Nybegynder
16. december 2004 - 17:56 #6
Kunne du komme med et eksempel bumle90 på din kode?
Avatar billede madsass Nybegynder
16. december 2004 - 17:56 #7
Bumle90 >
Hvorfor er det misbrug? Og han skriver at han ikke har særlig meget forstand på php, og så snakker du i "koder" som han nok vil forstå det som.
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