1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

PHP Login Script

Dieses Thema im Forum "PHP" wurde erstellt von Jule_Fisi, 14. Februar 2018 um 10:47 Uhr.

  1. Jule_Fisi

    Jule_Fisi Grünschnabel

    Hallo ihr Lieben, ich bin momentan dabei eine Login Seite zu schreiben mit Zugriff auf meine MySQL Datenbank. Leider habe ich jetzt das Problem dass das Script super funktioniert, nur beim Einloggen immer die Fehlermeldung bringt das Email oder Passwort ungültig ist, wobei das aufkeinenfall sein kann. Vielleicht kann mir ja jemand von euch meinen Fehler verraten.
    Code (PHP):
    1.  
    2. <?php
    3. $pdo = new PDO('mysql:host=localhost;dbname=**', '**', '**');
    4.  
    5. if(isset($_GET['login'])) {
    6.     $email = $_POST['email'];
    7.     $pw = $_POST['pw'];
    8.  
    9.    $statement = $pdo->prepare("SELECT * FROM user WHERE email = :email");
    10.    $result = $statement->execute(array('email' => $email));
    11.    $user = $statement->fetch();
    12.  
    13.  
    14.  // Prüfen, ob Benutzername und Passwort zusammenpassen
    15.     if ($user !== false && password_verify($pw, $user['pw'])) {
    16.                 $_SESSION['userid'] = $user['id'];
    17.         die('Login erfolgreich. Weiter zu <a href="index.php">internen Bereich</a>');
    18. } else {
    19.         $errorMessage = "E-Mail oder Passwort war ungültig<br>";
    20.     }
    21.  
    22. }
    23. ?>
    24.  
    25. <!DOCTYPE html>
    26. <html>
    27. <head>
    28.   <title>Login</title>
    29. </head>
    30. <body>
    31. <?php
    32. if(isset($errorMessage)) {
    33.     echo $errorMessage;
    34. }
    35. ?>
    36.  
    37. <form action="?login=1" method="post">
    38. E-Mail:<br>
    39. <input type="email" size="40" maxlength="250" name="email"><br><br>
    40.  
    41. Dein Passwort:<br>
    42. <input type="password" size="40"  maxlength="250" name="pw"><br>
    43.  
    44. <input type="submit" value="Abschicken">
    45. </form>
    46. </body>
    47. </html>
     
  2. Kalito

    Kalito Erfahrenes Mitglied

    was wird ausgegeben, wenn du folgendes vor dem IF-Statement angibst:
    PHP:
    1. echo "User-Variable";
    2. echo "<br/>";
    3. var_dump($user);
    4. echo "<br/>";
    5. echo "Passwort"
    6. echo "<br/>";
    7. var_dump($pw);
    8. echo "<br/>";
    9. var_dump($user['pw']);
    10. echo "<br/>";
    11. var_dump(password_verify($pw, $user['pw']));
    12. echo "<br/>";
    Nur so eine Frage am Rand. Du speicherst hoffentlich nicht die Passwörter in Klartext in die Datenbank?
     
  3. Jule_Fisi

    Jule_Fisi Grünschnabel

    Ich habe bis auf meinen Testacc keine Klartext Passwörter in meiner Datenbank, bei Test hab es aus bequemlichkeit :D Ausgabe ist das hier :
    Code (Text):
    1. User-Variable
    2. array(8) { ["name"]=> string(4) "test" [0]=> string(4) "test" ["vorname"]=> string(0) "" [1]=> string(0) "" ["email"]=> string(11) "test@web.de" [2]=> string(11) "test@web.de" ["pw"]=> string(4) "test" [3]=> string(4) "test" }
    3. Passwort
    4. string(4) "test"
    5. string(4) "test"
    6. bool(false)
     
  4. Jule_Fisi

    Jule_Fisi Grünschnabel

    Hab es nach langem tüfteln endlich hinbekomen :)
     
  5. Bratkartoffel

    Bratkartoffel gebratene Kartoffel Premium-User

    Was war das Problem?
     
Die Seite wird geladen...
Ähnliche Themen - Login Script
  1. BlueVegetto
    Antworten:
    7
    Aufrufe:
    641
  2. impe
    Antworten:
    1
    Aufrufe:
    2.423
  3. djnijo
    Antworten:
    6
    Aufrufe:
    776
  4. nate
    Antworten:
    6
    Aufrufe:
    1.444
  5. Code46
    Antworten:
    6
    Aufrufe:
    537