Benutzername:
Passwort:



Zum Einloggen suchen wir den Benutzernamen und vergleichen dann das gehashte Passwort


Benutzername: Benutzername:
Passwort:
<form action="index.php?doregister=true" method="post">
Benutzername: <input type="text" size="25" placeholder="Username" name="username">
<br>
Passwort: <input type="password" size="20" placeholder="Password" name="userpassword">
<br>
<input type="submit" value="Registrieren">
<?php
if($_GET['doregister']) {
    $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
    $password = password_hash($_POST['userpassword'], PASSWORD_DEFAULT);
    #bla bla, um Daten zu verifizieren (z.B. E-Mail mit filter_input wie oben, aber filter: FILTER_VALIDATE_EMAIL)"
    #noch mehr bla bla, um Benutzer in Datenbank zu speichern.";
    echo "<br><br>Damit haben wir als Benutzername: " . $username;
    echo "br>Wichtig ist, im Quelltext werden Sonderzeichen ersetzt. Damit man kein HTML in deine Webseite schummeln kann. Im Quelltext steht: ";
    echo "<code>" . str_replace("&", "&amp;", $username) . "</code>";

    echo "<br><br>Und das Passwort lautet jetzt: " . $password;
}
?>
</form>
<br><br>
<hr>
Zum Einloggen suchen wir den Benutzernamen und vergleichen dann das gehashte Passwort
<hr>
<br><br>
<form action="index.php?dologin=true" method="post">
    Benutzername: Benutzername: <input type="text" size="25" placeholder="Username" name="username">
<br>
Passwort: <input type="password" size="20" placeholder="Password" name="userpassword">
<br>
<input type="submit" value="Login">
<?php
if($_GET['dologin']) {
    $username = filter_input(INPUT_POST, 'loginname', FILTER_SANITIZE_FULL_SPECIAL_CHARS);
    $password = password_hash($_POST['loginpassword'], PASSWORD_DEFAULT);
    # in der Datenbank befindet sich bereits das gehashte Passwort. Daher vergleichen wir $passwort mit dem String aus der Datenbank
    echo "<br><br>";
    if($password == $dbquery['password']) {
        echo "Richtig eingeloggt. Starte Session usw.";
    }
    else {
        echo "Falscher Benutzername oder Passwort";
    }
}
?>
</form>