klaus: if-bedingung will nicht so wie ich will

hallo forum,

ich hab mal wieder ein problem...

ich will die eingaben aus einem passwort-formular validieren,
dazu schau ich nach, ob der username vorhanden ist, und das eingegebene passwort mit dem in der DB gespeicherten übereinstimmt.

der teil dazu:

if($numrows != "0" && $passwort == $row["pw"])
{
    echo "Login gültig"; $valid_user=1;
}
 else
{
    echo "Login ungültig"; $valid_user=0;
}

$numrows stimmt, wenn ich es mir mit echo ausgebe und row["pw"] stimmt auch vom inhalt her, d.h. eigentlich müßte $valid_user = 1 sein....
ist es aber nicht ???
hat jemand von euch eine idee woran das liegen könnte???

vielen dank für eure hilfe...

grüße
klaus

  1. hallo forum,

    Hi

    ich hab mal wieder ein problem...

    ich will die eingaben aus einem passwort-formular validieren,
    dazu schau ich nach, ob der username vorhanden ist, und das eingegebene passwort mit dem in der DB gespeicherten übereinstimmt.

    der teil dazu:

    if($numrows != "0" && $passwort == $row["pw"])

    Warum "0" und nicht 0 ?

    Andreas

    1. hi andreas,

      Warum "0" und nicht 0 ?

      bin da recht nah an einem tutorial von evolt.org,
      und hab mich auch über die anführungszeichen gewundert.

      geht aber trotzdem nicht, auch wenn ich sie weglasse...

      grüße,
      daniel

      1. hi andreas,

        Warum "0" und nicht 0 ?

        bin da recht nah an einem tutorial von evolt.org,
        und hab mich auch über die anführungszeichen gewundert.

        geht aber trotzdem nicht, auch wenn ich sie weglasse...

        grüße,
        daniel

        Hallo Daniel,

        Dein Scriptschnipsel ist etwas kurz. Wo fragst Du denn $valid_user wieder ab? Könnte es sein, dass es sich bei dem Ausschnitt um eine Funktion handelt? Könnte es denn weiter sein, dass Du $valid_user das erste Mal in dieser Funktion zuweist?

        Sollte der Funktionsaufruf dann vielleicht

        check($row, $valid_user)
        {
          ...
        }

        lauten?

        Nur so eine Idee...

        Grüße

        Tom

  2. Hallo Klaus,

    Schau mal hier: http://php3.de/manual/de/language.operators.php
    Punktrechnung geht vor Strichrechnung und
    &&  geht vor  !=  bzw.  ==
    Also: Klammern setzen!

    Gruß
    Hans35

    1. Hi,

      &&  geht vor  !=  bzw.  ==

      Nehme alles zurück und behaupte das Gegenteil. Tatsächlich: Wer lesen kann ist klar im Vorteil.

      Sorry
      Hans35