Problem beim Loginsystem

  • Moin Moin,

    Ich habe da nen Problem mit meinem Loginsystem. Leider gibt er nach dem Login an:

    SQL
    SELECT * from user where pass ="c5f806abad90e02fdd5e30c57aef125d" and nick = "Siroldenburg"Logindaten inkorrekt

    Die Login.php:

    Wir suchen forum Mitglieder und Member die bei der gestalltung Mitwirken. http://rexee-host.de

  • Dann wird wohl der Username oder das Passwort nicht stimmen!

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • Ne, wenn username oder passwort nicht stimmen würde, müsste ja der die()-Befehl ausgeführt werden und "Logindaten inkorrekt" ausgegeben werden.
    Ich würde sagen, er loggt sich korrekt ein, da aber per echo-Befehl schon eine Ausgabe erfolgt ist wird die Weiterleitung per header() nicht ausgeführt.

    error_reporting hochdrehen wie es in Bandit's degub-Anleitung steht, dann sollte auch eine entsprechende Fehlermeldung kommen.
    Und wenn dann das echo $sql; auskommentiert wird sollte es mit korrekten Logindaten auch laufen.

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Ne, wenn username oder passwort nicht stimmen würde, müsste ja der die()-Befehl ausgeführt werden und "Logindaten inkorrekt" ausgegeben werden.


    Ich mal mal für dich einen Umbruch rein ;)

    Zitat


    SELECT * from user where pass ="c5f806abad90e02fdd5e30c57aef125d" and nick = "Siroldenburg"
    Logindaten inkorrekt


    Kommt von

    PHP
    echo $sql


    und

    PHP
    die('Logindaten inkorrekt');
  • Hoppla *g*
    Das hatte ich übersehen, hatte nicht nach rechts gescrollt.
    Ok, dann sind wohl wirklich einfach die Login-Daten falsch ^^
    Trotzdem wird auch bei korrekten Logindaten der header() nach der echo-Ausgabe nicht mehr laufen.

    rexee: Die Passwörter sind aber md5-verschlüsselt in der user-Tabelle hinterlegt?

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook