Avatar billede 123maka Nybegynder
01. august 2003 - 15:22 Der er 5 kommentarer og
1 løsning

online brugere

Hvordan laver man et online bruger system? som tæller korrekt?
Avatar billede ahv Nybegynder
01. august 2003 - 15:26 #1
http://www.thomaslunde.dk -> kildekoder -> side 4

Den kører uden MySQL.
Avatar billede ahv Nybegynder
01. august 2003 - 15:27 #2
http://www.thomaslunde.dk -> kildekoder -> side 6

Den kører med MySQL.
Avatar billede 123maka Nybegynder
01. august 2003 - 15:45 #3
<?
#MYSQL CONNECT ER HER
print '<font face="helvetica" size="2" color="#000000">';

$time = explode(" ",microtime());
$array1 = $time[0];
$array2 = $time[1];

    $r_info = mysql_query("SELECT * FROM wc_onlineusers WHERE ip like '$ip'");
    $r = mysql_fetch_row($r_info);
    if ($r == (false))  {
    mysql_query("INSERT INTO wc_onlineusers (id,ip,navn,date) values ('NULL','$ip','$_SESSION[s_id]','$array2')") or die(mysql_error());;
    }
mysql_query("DELETE FROM wc_onlineusers where date < $array2 - 400");
$res = mysql_query("SELECT * FROM wc_onlineusers") or die(mysql_error());
$tal = mysql_num_rows($res);
if ($tal == "1") {
print "1 bruger online ";
}
else {
print $tal;
print " brugere online";
}
?>

Den skriver bare: 0 brugere online...
hvorfor?
Avatar billede ahv Nybegynder
01. august 2003 - 15:49 #4
Prøv at se om du kan få noget ud af dette ->

<?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 COUNT(*) AS antal FROM online");
echo "Der er lige nu ".mysql_result($online,0)." online";
mysql_close($connection);
?>

det kører på princippet at hvis man ikke har været aktiv i 10 min bliver man sat til offline, tiden kan du selv ændre på.
Din tabel skal indeholde et id, et felt der hedder tid som er DATETIME og et felt der hedder ip som er VARCHAR 20
Avatar billede ahv Nybegynder
01. august 2003 - 15:50 #5
$ip = $_SERVER['REMOTE_ADDR'];
Avatar billede 123maka Nybegynder
01. august 2003 - 16:49 #6
ok rettede lidt og det virker... tak...
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