LogIn Problemchen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • LogIn Problemchen

    Hallöchen zusammen,

    ich habe mal wieder ein Problemchen und zwar bei meinem LogIn Bereich.
    Wenn man sich einloggen will, erscheint kurz eine Fehlermeldung :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /users/baronesse/www/ACP/Internbereich/functions.inc.php on line 12

    verschwindet aber dann, denn man wird weiter geleitet zum Memberbereich, also muss das ja irgendwie funktioieren.
    Aber da das nicht sonderlich schön aussieht, bitte euch (mal wieder ^^) um Hilfe.

    Der Bereich in dem der Fehler steckt ist dieser:
    PHP-Code:
    function anzahl($abfragez) { // Gibt Anzahl zurück
            
    $ergebnis mysql_query("SELECT COUNT(id) AS anzahl FROM ".$abfragez);
            
    $row mysql_fetch_array($ergebnis);
            return 
    $row['anzahl'];
        } 

    Die Zeile 12 in der der Fehler stecken soll ist diese in dem Script:
    PHP-Code:
            $row mysql_fetch_array($ergebnis); 

    Der LogIn- Code ist dieser:
    PHP-Code:
    <?php
        session_start
    (); // Startet die Session
        
    include("header.php");
        include(
    "db.php");
        include(
    "functions.inc.php");
        if(isset(
    $_REQUEST["submit"])) 
    // Wenn Formular abgeschickt
    f(exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' 
    AND passwort = '"
    .md5($_REQUEST["passwort"])."'") && anzahl("login
     WHERE ip = '"
    .getenv("REMOTE_ADDR")."' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4
    $eintragen mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) 
    VALUES ('"
    .strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')"); 
    $abfrage "SELECT id FROM mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' LIMIT 0,1";
    $ergebnis mysql_query($abfrage); while($row mysql_fetch_object($ergebnis))
    {
    $_SESSION["login"] = $row->id; }
    echo 
    "<meta http-equiv=\"refresh\" content=\"0; URL=memberarea.php\">";
            } else 

    $eintragen mysql_query("INSERT INTO login 
    (name, ip, timestamp, erfolgreich) 
    VALUES ('"
    .strip_tags($_REQUEST["name"])."', 
    '"
    .getenv("REMOTE_ADDR")."', '".time()."', 'nein')"); 
    ?>
    Login schlug fehl.
    <?php}
    } else { // Formular ->// das Formular würde noch 
    folgen.
    ?>
    Zuletzt geändert von Baronesse; 28.07.2008, 14:52.

  • #2
    mysql_error() sagt dir welchen Bock du da schießt!
    Wir werden alle sterben

    Kommentar


    • #3
      Wenn du die Forumsregeln berücksichtigen (und den Text lesbar formatieren) würdest, hättest du das Problem wahrscheinlich schon lange gelöst.
      Gruss
      H2O

      Kommentar


      • #4
        So, ich hoffe man kann das nun etwas besser lesen. :s

        Kommentar


        • #5
          Original geschrieben von Baronesse
          So, ich hoffe man kann das nun etwas besser lesen. :s
          Nein Ausserdem gehört das, was combie geschrieben hat auch zu den Regeln. Hier einfach mal, wie der Code aussehen könnte, wenn er formatiert wäre:
          PHP-Code:
          <?php
              error_reporting
          (E_ALL);
              
          session_start(); // Startet die Session
              
          include("header.php");
              include(
          "db.php");
              include(
          "functions.inc.php");
              if (isset(
          $_REQUEST["submit"])) {
                  if(
          exist("mitglieder WHERE name = '".strip_tags($_REQUEST["name"])."' 
                      AND passwort = '" 
          .md5($_REQUEST["passwort"])."'") && anzahl("login
                       WHERE ip = '" 
          getenv("REMOTE_ADDR") . "' AND erfolgreich = 'nein' AND timestamp > '".(time()-60*30)."'") < 4) { 
                           
          $eintragen mysql_query("INSERT INTO login (name, ip, timestamp, erfolgreich) 
                      VALUES ('"
          .strip_tags($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', 'ja')"); 
                      
          $abfrage "SELECT id FROM mitglieder WHERE name = '" strip_tags($_REQUEST["name"]) . "' LIMIT 0,1";
                      
          $ergebnis mysql_query($abfrage) or exit(mysql_error()); 
                      while(
          $row mysql_fetch_object($ergebnis)){
                          
          $_SESSION["login"] = $row->id
                      }
                      echo 
          "<meta http-equiv=\"refresh\" content=\"0; URL=memberarea.php\">";
                  } 
                  else { 
                      
          $sql "
                          INSERT INTO login (
                              name, 
                              ip, 
                              timestamp, 
                              erfolgreich
                          ) 
                          VALUES (
                              '" 
          strip_tags($_REQUEST["name"]) . "', 
                              '" 
          getenv("REMOTE_ADDR") . "', 
                              '" 
          time() . "', 
                              'nein'
                          )"
                          
          $eintragen mysql_query($sql) or exit(mysql_error()); 
                      echo 
          "Login schlug fehl.";
                  }
              } 
              else { 
                  
          // Formular ->// das Formular würde noch folgen.
              
          }
          ?>
          Inhaltlich habe ich gar nichts geändert, weil v.a. nach der zweiten IF-Abfrage soviel Schrott steht, dass ich daraus unmöglich ableiten kann, was dort stehen sollte.
          Gruss
          H2O

          Kommentar

          Lädt...
          X