Karag: Problem mit Passwort Vergleich in einer MySQL Datenbank

Hab da ein kleines Problem beim Vergleich, von einem eingegebenem Passwort auf meiner Seite, und dem richtigen in der Datenbank stehenden Passwort. Während das beim lokalen testen nie ein Problem gegeben hat, gibt die einfache "if" anweisung jetzt wo die Seite online ist, immer false zurück, obwohl beide Werte definitiv identisch sind.

Ich kann mir absolut keinen Reim darauf machen, da die Datenbank einwandfrei eingebunden ist, und alle Benennungen auch gleich sind.

Einziger Unterschied: Zuhause benutze ich ein Windows System, und der Server läuft auf Unix

Falls jemand ne Idee dazu hat, bitte melden!

Danke im Vorraus
Karag

  1. Halihallo Karag

    Der Fehler ist in Linie 28. [1]

    Viele Grüsse

    Philipp

    [1]: Dein Problem lässt sich ohne Angabe von Code nicht rekonstruieren, geschweige
    denn lösen. Also: Schreib uns wichtige Codebestandteile, dann helfen wir gerne..

    PS: Begrüssung wird auch gerne gesehen ;)

  2. Hallo!

    Natürlich hast du recht, ich glaube jedoch, dass der Code auch nicht weiter hilft.

    Dennoch werde ich es mal probieren, Code:

    $result = mysql_query("Select nick_name, passwort from member where nick_name = '$name'",$conn);

    //$name wird richtig übergeben und existiert in der Tabelle auch

    $entry = mysql_fetch_array($result);

    //$result ist richtig, vorherige abfragen wie "mysql_num_rows($result)" funktionieren

    if ($pass == $entry[passwort])

    //Dies ist der übeltäter $pass wird richtig übergeben, überprüft mit $QUERY_STRING

    {
      }

    //ergebnis ist immer false auch wenn $pass identisch ist mit $entry[passwort]

    1. Hallo Martin,

      wenn ich ein Problem mit dem Vergleich zweier Variablen habe, lasse ich mir die zwei _Übeltäter_ auf den Bildschirm ausgeben. Wenn möglich setze ich direkt vor die Variablen noch ein Zeichen (z.B. *) um eventuell dort vorhandene Leerzeichen zu erkennen.

      Mit dieser Methode habe ich seither immer Erfolg gehabt, und kann sie dir nur nahelegen.

      greets
      myMojito

      --
      -------------------------------------------
      Mode ist eine Variable, Stil eine Konstante
      1. Danke, aber schon Probiert, funktioniert alles,
        bis auf den Vergleich, sie sind identisch.

        1. Zweifele ich an!
          Wenn die Ausgabe zweier Variablen identisch ist, wieso soll dann der Vergleich dieser beiden Variablen keun _true_ ergeben???

          greets
          myMojito

          --
          -------------------------------------------
          Mode ist eine Variable, Stil eine Konstante
          1. *gg* Ja hast leider recht mit deinem Zweifel, beim erneuten testen kam raus das $pass offensichtlich aus mir unerfindlichen Gründen,
            auf einen festen wert gesetzt ist.

            Danke
            Martin

    2. //$result ist richtig, vorherige abfragen wie "mysql_num_rows($result)" funktionieren

      if ($pass == $entry[passwort])

      if ($pass == $entry['passwort'])

      //Dies ist der übeltäter $pass wird richtig übergeben, überprüft mit $QUERY_STRING

      {
        }

      //ergebnis ist immer false auch wenn $pass identisch ist mit $entry[passwort]

      1. Gute Idee, Danke!
        Hatte ich auch noch nicht problert, allerdings funktioniert das auch nicht. Leider!

        1. Gute Idee, Danke!
          Hatte ich auch noch nicht problert, allerdings funktioniert das auch nicht. Leider!

          vielleicht:

          Select nick_name where passwort='$pass' AND nick_name='$nick_name'

          1. Ja haben das Problem gefunden, trotzdem Danke für den vorschlag.

            Martin

    3. Halihallo Karag

      if ($pass == $entry[passwort])

      evtl. passwort in Quotes => ''

      //Dies ist der übeltäter $pass wird richtig übergeben, überprüft mit $QUERY_STRING

      Du solltest $_GET oder $_POST verwenden (registerGlobals heute oft off, Query_String
      gehört IMHO dazu).

      //ergebnis ist immer false auch wenn $pass identisch ist mit $entry[passwort]

      Woher willst du das wissen? - Es wäre nicht false, wären sie identisch. Gibt
      versuchsweise vor dem if-Konstrukt _beide_ $pass und $entry['passwort'] aus. Sind sie
      wirklich gleich?

      Viele Grüsse

      Philipp

      1. passwort in Quotes, funktioniert auch nicht.
        Deinen unteren Vorschlag, beide auszugeben, habe ich gerade getestet ... und festgestellt das da ein Problem bei uns vorliegt, mit dem ich nie gerechnet habe.
        Ich weiss nicht wie wir das lösen können, aber dennoch Danke bis hier her.

        Martin

        1. Halihallo Karag

          passwort in Quotes, funktioniert auch nicht.

          ... gehört jedoch zum guten Stil.

          Deinen unteren Vorschlag, beide auszugeben, habe ich gerade getestet ... und festgestellt das da ein Problem bei uns vorliegt, mit dem ich nie gerechnet habe.

          Wenn es nicht interner Natur ist, würden wir es auch gerne wissen.

          Viele Grüsse

          Philipp