Philipp Walter: Script für einen Login über Mysql

<?php
 $benutzer=$HTTP_POST_VARS['benutzer'];
 $pass=$HTTP_POST_VARS['pass'];
 $db=mysql_connect("localhost", "root", "");
 mysql_select_db("umfrage");
 $anfrage="SELECT * FROM login WHERE admin LIKE '".$benutzer."'";
 echo $anfrage;
 $ergebnis=mysql_query($anfrage);
 echo $ergebnis;
 $anz=mysql_num_rows($ergebnis);
 if ($anz==1) {
    $zeile=mysql_fetch_row($ergebnis);
    if ($pass==$zeile[1]) {
        printf ("<b>Login korrekt</b>");
        printf ("<p>Klicken Sie hier zum Zugang:</p>");
        printf ("<a href='test.html'>Gesch&#252;tzer Bereich</a>");
      }
    else {
        printf ("Benutzername korrekt, Passwort NICHT KORREKT!<br><br>");
        printf ("<a href='login.html'>Noch ein Versuch...</a>");
     }
    }
 else {
        printf ("Benutzername NICHT vorhanden!<br><br>");
        printf ("<a href='login.html'>Noch ein Versuch...</a>");
  }
 mysql_close($db);
?>

Sorry euch nochmal zu belästigen, aber das Script funktioniert noch immer nicht. Habe aus dem Buch "PHP Webseiten dynamisch programmieren" von Michael Seeboerger.

Irgendetwas funtioniert nicht mit der mysql_num_rows Anweisung ich bekomme folgende Fehlermeldung:

Fehler Meldung: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\minixampp\htdocs\umfrage\check.php on line 13

  1. Hallo Philipp!

    $benutzer=$HTTP_POST_VARS['benutzer'];
    $pass=$HTTP_POST_VARS['pass'];

    Nimm besser $_POST.
    (Link zu den vordefinierten Variablen spar ich mir jetzt mal, wird ja hier tagtäglich oft genug gesetzt.)

    $anfrage="SELECT * FROM login WHERE admin LIKE '".$benutzer."'";

    SELECT * ist immer schlecht.
    Lesetip: http://dclp-faq.de/q/q-sql-select.html

    Die abfrage scheint mir eh irgendwie unsinnig, weil warum wird da nicht gleich auch mit dem Paßwort selected?

    Sorry euch nochmal zu belästigen, aber das Script funktioniert noch immer nicht. Habe aus dem Buch "PHP Webseiten dynamisch programmieren" von Michael Seeboerger.

    Nicht alles, was in Büchern steht stimmt.

    Fehler Meldung: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\minixampp\htdocs\umfrage\check.php on line 13

    Ah, dann liegt es wohl daran, daß Dein SQL-Statement kaputt ist.

    Laß es Dir mal ausgeben, und schau mal selbst, ob die Abfrage wirklich die ist, die du haben wolltest.
    (und wenn es die ist, dann wolltest Du wohl was falsches haben ;)

    Du solltest mal Dein SQL-Statement genau anschauen.

    MfG
    Götz

    --
    Losung für Montag, 22. März 2004
    Dein Wort ist meines Fußes Leuchte und ein Licht auf meinem Wege. (Psalm 119,105)
    Gib deinen Knechten, mit allem Freimut zu reden dein Wort. (Apostelgeschichte 4,29)
    (http://www.losungen.de/heute.php3)
    1. Hallo Philipp!

      $benutzer=$HTTP_POST_VARS['benutzer'];
      $pass=$HTTP_POST_VARS['pass'];

      Nimm besser $_POST.
      (Link zu den vordefinierten Variablen spar ich mir jetzt mal, wird ja hier tagtäglich oft genug gesetzt.)

      $anfrage="SELECT * FROM login WHERE admin LIKE '".$benutzer."'";

      SELECT * ist immer schlecht.
      Lesetip: http://dclp-faq.de/q/q-sql-select.html

      Die abfrage scheint mir eh irgendwie unsinnig, weil warum wird da nicht gleich auch mit dem Paßwort selected?

      Sorry euch nochmal zu belästigen, aber das Script funktioniert noch immer nicht. Habe aus dem Buch "PHP Webseiten dynamisch programmieren" von Michael Seeboerger.

      Nicht alles, was in Büchern steht stimmt.

      Fehler Meldung: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\minixampp\htdocs\umfrage\check.php on line 13

      Ah, dann liegt es wohl daran, daß Dein SQL-Statement kaputt ist.

      Laß es Dir mal ausgeben, und schau mal selbst, ob die Abfrage wirklich die ist, die du haben wolltest.
      (und wenn es die ist, dann wolltest Du wohl was falsches haben ;)

      Du solltest mal Dein SQL-Statement genau anschauen.

      MfG
      Götz

      ----------------------------------------------------------
      Vielen Dank nochmal, es funktioniert jetzt!

  2. Doppelposting, siehe </faq/>.