Carl: Fehler in Login-Script

Hi

hab ein kleines Problem mit nem einfachen login-script.
Ich gebe das Passwort und den Usernamen so wie es in der db steht ein, aber ich bekomme immer die fehlermeldung:

Falscher Loginname bzw. Passwort, bitte versuche dich erneut einzuloggen.

hier mein script:

<?
if (mysql_errno())
{
 die("<br>" . mysql_errno(). ": ".mysql_error()."<br>");
}
if (!empty($username) && !empty($passwort))
 {
 require("db_connect.php");
 $query = "SELECT user, pw FROM users";
 $result = mysql_query($query);
  if (mysql_errno())
  {
  die("<br>" . mysql_errno(). ": ".mysql_error()."<br>");
  }

while ($row = mysql_fetch_row($result))
  {
   if (mysql_errno())
   {
   die("<br>" . mysql_errno().": ".mysql_error()."<br>");
   }
  if ($username==$row[0] && $passwort==$row[1])
   {
   setcookie("$username", "$passwort", time()+3600);
   echo "<br>Login";
   }
  else
   echo "<br>Falscher Loginname bzw. Passwort, bitte versuche dich erneut einzuloggen.";
  }
 }
else
 echo "<br> Bitte fülle alle Felder aus.";
?>

Ich vermute mal, da ist irgendwo der wurm drin aber ich finde ihn nicht :(.

Gruss
Carl

  1. Hallo Carl,

    klappt den deine Passwortüberprüfung, wenn du die Fehlerabfang-ifs rausnimmst?

    Gruß Klaus

    1. Hallo

      if (!empty($username) && !empty($passwort))

      anstatt !empty() kannst du doch viel besser isset() nehmen...

      weiß nicht ob da der fehler liegt (wie klaus schon sagte), versuch doch sonst da mal
      if (isset($username) && isset($passwort))
      drauszu machen...

      Grüße

      David

      --

      "Nobody will ever need more than 640k RAM!"
      1981 Bill Gates
    2. Hallo

      klappt den deine Passwortüberprüfung, wenn du die Fehlerabfang-ifs rausnimmst?

      nein klappt nicht. habs jetzt mal versehentlich kurz so drinstehen gehabt: if ($username=row[0] && $passwort=row[1])

      da hat es dann geklappt...

      Gruss
      Carl

  2. Hallo Carl,

    while ($row = mysql_fetch_row($result))
      {
       if (mysql_errno())
       {
       die("<br>" . mysql_errno().": ".mysql_error()."<br>");
       }
      if ($username==$row[0] && $passwort==$row[1])
       {
       setcookie("$username", "$passwort", time()+3600);
       echo "<br>Login";
       }
      else
       echo "<br>Falscher Loginname bzw. Passwort, bitte versuche dich erneut einzuloggen.";
      }

    Du solltest evtl. aus der Schleife springen, sobald der Login
    erfolgreich ist, hm?

    BTW: Dein mysql_query()-if()-Konstrukt kannst Du vereinfachen:
         mysql_query(...) or die(...);

    Bye,
    Peter

    --
    Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.