Avatar billede Slettet bruger
04. oktober 2004 - 23:14 Der er 7 kommentarer

Online script

Hey, jeg er ved at lave et online system for en jeg kender til hans hjemmeside. Problemet er at hans brugere ikke har et felt med ip, og hvis de skulle oprette sig igen ville det være et stort problem pga. næsten 50.000 brugere. Så hvordan kan jeg lave et online script der viser online brugere?
Avatar billede michael_stim Ekspert
04. oktober 2004 - 23:27 #1
Kan du ikke bare tälle dem der er logget ind?
Avatar billede michael_stim Ekspert
04. oktober 2004 - 23:54 #2
Her er der et jeg har på min side. Det er ikke helt precist, men nästen.

<?php
/*
  Tabellen der skal laves
  CREATE TABLE hit (
      ip char(16) not null,
    lasthit datetime not null
  );
*/
require_once('open_connection.php'); //Din database connection

function updateHits() {
    $ip = getenv("REMOTE_ADDR");

    $sql = "UPDATE hit SET lasthit=NOW() WHERE ip='$ip' AND date_add(lasthit, INTERVAL 30 MINUTE) > NOW()";
    $res = @mysql_query($sql);
    if( $res ) {
        if( @mysql_affected_rows() == 0 ) {
            $sql = "INSERT INTO hit(ip,lasthit) VALUES('$ip',now())";
            @mysql_query($sql);
        }
    }
}

function getOnlineUsers() {
    $sql = "SELECT count(1) FROM hit WHERE date_add(lasthit, INTERVAL 10 MINUTE) > NOW()";
    $res = @mysql_query($sql);
    if( $res )
        return mysql_result($res,0,0);
    else
        return 0;
}
function getVisitsToday() {
    $sql = "SELECT count(1) FROM hit WHERE DAYOFYEAR(lasthit) = DAYOFYEAR(now())";
    $res = @mysql_query($sql);
    if( $res )
        return mysql_result($res,0,0);
    else
        return 0;
}
function gettotal() {
    $sql = "SELECT count(distinct ip) FROM hit";
    $res = @mysql_query($sql);
    if( $res )
        return mysql_result($res,0,0);
    else
        return 0;
}

function getall() {
    $sql = "SELECT count(ip) FROM hit";
    $res = @mysql_query($sql);
    if( $res )
        return mysql_result($res,0,0);
    else
        return 0;
}
?>

Så kan du jo bare kalde de funktioner du har brug for.
Avatar billede michael_stim Ekspert
04. oktober 2004 - 23:57 #3
Skal lige siges at gettotal() er unikke besögere. Og der hvor du vil tälle skal du have den förste funktion med (updateHits()).
Avatar billede Slettet bruger
05. oktober 2004 - 19:29 #4
Det skal vise de online brugere plus deres navne. Kan det der det? det ser ud for mig til at bruge ip
Avatar billede michael_stim Ekspert
05. oktober 2004 - 19:38 #5
Nej den her har ikke noget at göre med brugerene der er i din database. Den täller alle der er på siden.
Avatar billede Slettet bruger
06. oktober 2004 - 15:06 #6
Men det skal den ikke. jeg vil have en online liste der kan skrive brugerne ud uden deres ip
Avatar billede michael_stim Ekspert
06. oktober 2004 - 15:08 #7
Du må vel starte en session for hver bruger der logger ind. Og så udskrive dem.
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