Ergebnis 1 bis 4 von 4

Thema: Besucher Online ?

  1. #1

    Besucher Online ?

    Ich weiss nicht wo dran es liegt aber es klappt nicht:
    PHP-Code:

    <?php
    $db_hostname 
    "";
    $db_username "";
    $db_passwort "";
    $db_database "";
    $tabelle ="onlineuser";
    $online_time ="300";
    $db = @mysql_connect($db_hostname$db_username$db_passwort) or die("Konnte Verbindung nicht herstellen: " mysql_error());
    @
    mysql_select_db($db_database$db) or die("Konnte Datenbank nicht finden");
    $uid md5(uniqid(microtime()));
    $ip $_SERVER['REMOTE_ADDR'];
    $dummy "";
    $result mysql_query("SELECT ip FROM " $tabelle." WHERE IP = '" $ip "'") or die(mysql_error());
    if (
    mysql_num_rows($result) == 0) {
        
    $sqlQuery sprintf("INSERT INTO %s (uid, ip, time) VALUES ('%s', '%s', '%s', '%s')",
            
    $tabelle,
            
    $uid,
            
    $ip,
            
    time()
        );
        
    mysql_query($sqlQuery) or die("Insert fehlgeschlagen: " mysql_error());
    }
    $dtime time() - $online_time;
    @
    mysql_query("DELETE FROM " $tabelle " WHERE TIME < " $dtime) or die(mysql_error());
    $result mysql_query("SELECT COUNT(IP) as total FROM " $tabelle);
    list(
    $user_online) = mysql_fetch_array($result);
    echo 
    "es sind " $user_online " user online";
    ?>

  2. #2
    "Es klappt nicht" ist die tollste Fehlerbeschreibung der Welt. So präzise. Jeder weiß sofort wonach er suchen muss. Es gibt ja nicht unheimlich viele unterschiedliche Fehlerquellen die "nicht klappen" könnten. Nein. Und die ausgegebene Fehlermeldung ist sowieso unwichtig und bringt nie was.

  3. #3
    o.O

    Mal ne frage

    1,Warum zur Hölle nimmst du list($user_online) ?
    Nimm einfach

    $user_online = mysql_num_rows($result);

    Macht das selbe spart aber resursen und macht das script ein bischen sicherer da keine echten user daten geladen werden

    2,Warum zur hölle benutz du sprintf o.O

    Was willst du damit erreichen ? Du willst doch blos einen Eintrag machen was hat sprintf damit zu tuhn ?

    Würde

    INSERT INTO `$tabelle` (`uid`, `ip`, `time`) VALUES ('$uid', ' $ip', 'NOW()')",

    nicht auch reichen o.O und warum hast du 3 Spalten angewählt aber 4 VALUES o.O

    Und ne frage (bitte sag ja)

    nutz du den Sql Timestamp ? Der Währe sehr nützlich bei einem Online Script
    wenn du esüber time() machst muss der obere text von mir

    INSERT INTO `$tabelle` (`uid`, `ip`, `time`) VALUES ('$uid', ' $ip', 'time()')",

    heissen.

    Edit:

    Achja ein Tip von einem n00bkröten etwas alle wichtigen Variablen am ende eines Scriptes unseten mit unset($Variable); damit bist du immer auf der sicheren seite

  4. #4
    Hat sich erledigt hab den fehler gefunden lol >_< >_< >_<

    Geändert von Milchbox (16.06.2005 um 20:41 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •