kostenloser Webspace werbefrei: lima-city


problem mit dem counter

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    patrasz

    patrasz hat kostenlosen Webspace.

    hallo
    habe mir einen counter mit ip-sperre programmiert, lief auch beim lokalen test noch ohne probleme, nun habe ich ihn auf den webserver hochgeladen und er funktioniert nicht mehr
    [PHP]
    $db ="homepage";
    $user = "*****";
    $password = "*****";

    // Datenbankverbindung ?ffnen
    $db_verbindung = @mysql_connect("mysql.lima-city.de", $user, $password);

    // Datenbank ausw?hlen, falls nicht vorhanden anlegen
    $select = mysql_select_db ($db);
    if ($select == false)
    {
    mysql_create_db ($db);
    }

    // ?berpr?fen, ob Tabelle "counter" bereits vorhanden ist
    $table = "counter";

    // Tabelle durchsuchen
    $query = "SELECT * FROM counter";
    $result = mysql_query (query);
    $ip = $REMOTE_ADDR;
    $timestamp = date(U);
    // Dauer der IP-Sperre in Sekunden
    $dauer = 900;

    // Counter-Datei ?ffnen und Stand auslesen
    $filename = "counter.txt";
    $datei = fopen( $filename, "r+" );
    $counter = fgets($datei, 7);

    // Durchsuchen der Tabelle nach der aktuellen IP
    while ($zeile = mysql_fetch_array($result))
    {
    // If-Schleife, die ?berpruft, ob die aktuelle IP einer IP in der Tabelle entspricht
    if ($zeile[0] == $ip)
    {
    $found = true;
    // Es wird ?berpr?ft, ob der letzte Besuch der innerhalb der angegebenen Sperrdauer stattfand
    if ($zeile[1]+$dauer < $timestamp )
    {
    mysql_query ("UPDATE counter SET timestamp = '".$timestamp."' WHERE ip = '".$ip."';");
    $counter++;
    }
    }
    }

    // Falls die IP in der Tabelle nicht gefunden wurde, wird ein neuer Eintrag
    // mit IP und Zeitstempel angelegt.
    if ($found == false)
    {
    mysql_query ("INSERT INTO counter (ip, timestamp) VALUES ('".$ip."','".$timestamp."');");
    $counter++;
    }
    echo "<b>$counter</b>";
    rewind ($datei);
    fputs ($datei, $counter);
    fclose ($datei);
    [/PHP]

    wenn ich den counter nun ?ffne, kommt immer folgende fehlermeldung: "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/patrasz/html/counter.php on line 33
    243"

    zeile 33 ist ?brigens folgende: while ($zeile = mysql_fetch_array($result))

    kann mir jemand sagen, wo hier der fehler liegt

    Beitrag ge?ndert am 6.08.2006 20:58 von patrasz
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Zuerst solltest du mal Usernamen und Datenbankpasswort entfernen, sonst treibt da noch jemand Unfug mit.
  4. Autor dieses Themas

    patrasz

    patrasz hat kostenlosen Webspace.

    oh, danke
    hoffe es ist noch nicht zu sp?t

    so habe jetzt zur sicherheit auch das datenbank-passwort ge?ndert
    es d?rfte derweil noch niemand etwas ge?ndert haben, soweit ich das gesehen habe

    Beitrag ge?ndert am 6.08.2006 21:01 von patrasz
  5. Hallo,

    also ich habe da meine Bedenken beim Verbindungsaufbau zur Datenbank. Hast du wirklich bei Lima eine Datenbank mit dem Namen homepage? Meine Datenbank hei?t DB99....... Ich denke auch der Versuch eine Datenbank anzulegen, welche homepage hei?t, wird wohl scheitern. Dann erh?ltst du nat?rlich auch kein Ergebnis und kannst keine Zeilen auslesen(es w?re gut $result zu pr?fen, ob es einen Inhalt hat, bevor du weiter auswertest). Hast du ?berhaupt eine Datenbank bei Lima?
    Ich sch?tze mal du hast lokal mit deinem eigenen sql Server getestet, da kannst du nat?rlich Datenbanken anlegen wie du lustig bist.

    Gru?
    Manni

    PS: Mit dem @ vor mysql_connect kann ich auch nichts anfangen, was bedeutet das?
  6. Autor dieses Themas

    patrasz

    patrasz hat kostenlosen Webspace.

    das mit der datenbank homepage, das ist nur lokal, bei lima hei?t sie db... dass und die ?berpr?fung habe ich schon ge?ndert.

    datenbank hab ich, ja

    der fehler liegt hierin:

    $result = mysql_query (query);


    ich habe das $-zeichen vor query in der klammer vergessen, danke trotzdem f?r eure tipps
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!