Hilfe - Userlogin

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hilfe - Userlogin

    Sorry, dass ich wieder stören muss, jedoch befinde ich mich gerade in einer Sackgasse. Ich habe zwar bereits mir Tutorials durchgelesen und angesehen, dennoch bleibt nie etwas in meinem Kopf hängen.
    Deshalb bitte ich euch mir auch keine Links zu Tutorials zu schicken usw, sondern mit mir eine Gedankenbrücke auf zubauen ;).

    Und zwar in der index.php hab ich folgenden Code:

    Quellcode

    1. echo '<form action="../Ordner/home.php" method="post">
    2. Email: <input type="text" name="username">
    3. Passwort: <input type="password" name="password">
    4. <input type="submit" name="submit" value="anmelden">';


    Dazu hab ich keine Fragen. Mein eigentliches Problem kommt jetzt:

    Quellcode

    1. if(!isset($_POST['submit']))
    2. {
    3. include('../Ordner/mysql.php');
    4. if(isset($_POST['username']) && isset($_POST['password']) && !empty($_POST['username']) && !empty($_POST['password']))
    5. {
    6. $inquiryUsr = mysql_query("SELECT email FROM register"); /* Abfrage Benutzername */
    7. $inquiryPw = mysql_query("SELECT password FROM register"); /* Abfrage Passwort */
    8. if($_POST['username'] = "$inquiryUsr" && $_POST['password'] = "$inquiryPw") /* Datenüberprüfung */
    9. {
    10. /* Hier fehlt was. Aber was */
    11. }
    12. }
    13. else
    14. {
    15. echo 'Login fehlgeschlagen!';
    16. }
    17. }
    Alles anzeigen


    Also zu erst prüfe ich, ob $_POST['submit'] existiert. Wenn ja, dann soll er die mysql.php öffnen und sich mit der Datenbank verbinden. Nachdem das passiert ist, soll er per If-Abfrage wieder überprüfen, ob $_POST['username'] und $_POST['password'] existieren und nicht leer sind. Wenn ja, soll er die SQL-Befehle $inquiryUsr und $inquiryPw starten und per If-Abfrage ablgeichen, ob die eingegeben Daten mit den Daten aus der Tabelle übereinstimmen.
    Falls aber die Felder $_POST['username'] und $_POST['password'] nicht existieren und leer sind, folgt das echo ' Login fehlgeschlagen '.

    Wo ich jetzt mit meinen Gedanken hänge, ist:

    Quellcode

    1. if(!isset($_POST['submit']))
    2. {
    3. }
    4. else
    5. {
    6. }

    Braucht man bei dieser If-Abfrage überhaupt ein else { } ? Und wenn ein echo ' Der Text' dort befinden? Wie mach ich das, dass es nicht angezeigt wird? Zumindest, dann erst nach dem "submit" betätigt wurde?

    Quellcode

    1. if($_POST['username'] = "$inquiryUsr" && $_POST['password'] = "$inquiryPw") /* Datenüberprüfung */
    2. {
    3. }


    Bei diesem Schritt komme ich nicht weiter. Wenn die Daten übereinstimmen, werde ich ja per action="../Ordner/home.php" weitergeleitet? Also müsste ja eigentlich gar nichts mehr da rein.f
    Ich hab auch die <form></form> reingeschrieben. Aber dann erscheint meine <form> nicht im Browser.

    Vielleicht könnt ihr mir bei meinen Gedankenstop helfen. Vielen Dank schon einmal. Und ein schönes Wochenende ;)
  • Nach deiner Logik kann es doch nur einen Benutzer und ein Passwort geben.
    Außerdem fehlt das mysql_fetch.

    Du musst stattdessen gleich in der SQL Abfrage nach einem Benutzer mit einem Passwort suchen.
    Außerdem solltest du das Benutzerpasswort mit der Funktion sha1 unkenntlich machen.

    SELECT * FROM user WHERE user = $user AND password = sha1(passwort)

    Für deinen success Teil startest du dann am besten eine Session und machst anschließend eine Weiterleitung.

    Da noch ziemlich viel falsch ist bzw fehlt, hier meine Tutorial Empfehlung: tut.php-quake.net/de/login.html
    Du solltest aber vorher auch die Tutorials 1-32 wiederholen.

    Lg
  • Guten Abend donut, danke dir.

    Das Passwort hätte ich noch mit md5 verschlüsselt. Ist sha1 besser?

    Ja die Select-Version hab ich auch gefunden. Aber ich hab gerade gemerkt, dass meine SQL-Abfrage totaller schwachsin ist. Nach meiner SQL-Abfrage würde der Computer ja die Reihe email und password in der Tabelle durchgehen und somit kämen alle eingebene Daten als Kombination in Frage. Wenn du verstehst was ich meine? ^^

    Zu den Session und Weiterleitung. So tief wollte ich noch gar nicht reingehen. Wollte eine groben Codeaufbau um ihn zu verstehen. Ich kann so viele Tutorials lesen oder anschauen. Es bleibt irgendwie nichts hängen. Zumindest auf anhieb. Deshalb tüfftel ich rum und versuch selbst auf eine Lösung zu kommen. Und freu mich über jeden Fehler der auftaucht, damit ich rumtüffteln kann. :)

    Ich werde 1 - 32 durchmachen. Danke dir.