Avatar billede codemanager Nybegynder
22. september 2004 - 21:54 Der er 4 kommentarer og
1 løsning

hvad kan jeg gøre ved dette problem

Hey

jeg har denne kode det hele virker næsten fint har to problemer

1: jeg har været ved og lave sådan at hvis man er logget ind vises man med bruger navn og hvis ikke vises man med ip men problemet er at den kun viser med brugr navn og ikke ip alsår som man ikke er logget ind viser den ingen ip men hvis man er logget ind viser den bruger navn men skifter ikke over til ip igen hvordan laver jeg det om

2: når en bruger smutter fra siden står personen stadigvæk som online og det er jo ikke godt hvad kan jeg gøre ved det

her er koden

<?php
aabn_forbindelse_og_vaelgdb();
/* dette skal indsættes på alle undersider */
function InsertUser() { 
   
    $ip            =  $_SERVER['REMOTE_ADDR'];
    $host          = gethostbyaddr($ip);
    $sidenavn      = "Online bruger";
    $page          = $_SERVER['PHP_SELF'];
    $time          = explode(" ", microtime());
    $usersec      = (double)$time[1];
    $dato          = date("H:i:s");
   
    if (mysql_result(mysql_query("SELECT count(*) FROM online_users WHERE ip like '$ip'"),0)==0) {
    mysql_query("INSERT INTO online_users (ip,host,date,sidenavn,page,dato) VALUES ('$ip','$host','$usersec','$sidenavn','$page','$dato')") or die (mysql_error());
    } else {
      mysql_query("UPDATE online_users SET date='$usersec',sidenavn='$sidenavn',page='$page',dato='$dato'") or die (mysql_error());
    }
}
InsertUser();
/* her til */
luk_forbindelse();
?>

<?
function ShowUsers() {
aabn_forbindelse_og_vaelgdb();
    $time      = explode(" ", microtime());
    $usersec  = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE date < $usersec -100") or die (mysql_error());
    $countusers  = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
   
   
    echo"<div class='boxheader'>Online bruger ".$countusers[total]."</div>";

   
    $result = mysql_query("SELECT * FROM online_users") or die (mysql_error());
    while ($row = mysql_fetch_array($result)) {
        echo" <div id='onlinekasse'>"; 
        $q1 = mysql_query("SELECT brugernavn FROM bruger WHERE ip = '$row[ip]'");
        $ip_row = mysql_fetch_array($q1);
        echo $ip_row['brugernavn'];
        echo (" Er sidst set på <a href=".$row[page].">".$row[sidenavn]."</a> ");
        echo ("Kl ".$row[dato]."<br></div>");

       
    }
}

showUsers();
?>
Avatar billede codemanager Nybegynder
22. september 2004 - 22:55 #1
ingen der kan hjælpe
Avatar billede blackscorpion Nybegynder
22. september 2004 - 23:15 #2
syntes godt nok din kode ser ret uoverskuelig ud, men okey er også ret træt.

Har selv lavet lidt af det samme på www.bs.alabit.dk <-- har så godt nok fjernet Login'en, da sessionen ikke vil som jeg gerne vil. :(

Men jeg har lavet det sådan, at når en bruger logger sig ind, så opretter den en session, hvor den gemmer brugernavn og password, som den bliver ved med at tjekke.

Hvis brugeren forlader siden, så popper der et lille vindue op, som logger brugeren ud af databasen, og sletter sessionen.

Og hvis der trykkes på Logud, så gør den præcist det sammen som det lille popup vindue. :)

Det du så kan gøre, er at lave en bund der går ind og tjekker om sessionen findes, og så sætter enten brugernavn, eller ip, og det kan du lave med en if/else. :)

Håber det kan hjælpe dig på vej. :)
Avatar billede codemanager Nybegynder
23. september 2004 - 21:42 #3
´fandt selv ud af det men tak

hvis du smider et svare kan vi dele point hvis det er iorden du må også få dem alle hvis du vil
Avatar billede codemanager Nybegynder
23. september 2004 - 23:07 #4
lukker hvis dy vil have nogle point så skriv
Avatar billede blackscorpion Nybegynder
24. september 2004 - 15:00 #5
nej ellers tak, jeg løste jo ikke dit problem, er her for at hjælpe og få hjælp. ;)
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