Verbergen des Passworts bei der Registrierung in PHP
Das Passworteingabefeld ist normalerweise ein
Input mit dem Typ password, in dem
die eingegebenen Zeichen durch Sternchen verdeckt werden.
Dies dient dazu, dass ein Böswilliger
das Benutzerpasswort nicht über die Schulter
abschauen kann, im Moment der Registrierung.
Das Verbergen des Passworts auf diese Weise ist natürlich gut, aber es gibt jedoch ein Problem - der Benutzer sieht nicht, was er eingibt. Er könnte sich bei der Eingabe eines Zeichens vertippen und sich mit einem anderen Passwort registrieren, als er wollte. Das wäre traurig:(, da er sich dann nicht auf der Website anmelden kann.
Es gibt eine Standardlösung für dieses Problem: dem Benutzer werden zwei Inputs für die Passworteingabe angezeigt - in das erste Inputfeld gibt er das Passwort ein, und in das zweite Inputfeld - die Bestätigung, also dasselbe Passwort ein zweites Mal:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Die Aufgabe unserer Website ist es, zu überprüfen, ob das Passwort und seine Bestätigung übereinstimmen, da es logisch ist, dass der Benutzer in diesem Fall genau das eingegeben hat, was er eingeben wollte:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// registrieren
} else {
// Meldung über die Nichtübereinstimmung ausgeben
}
}
?>
Modifizieren Sie Ihren Code so, dass beim Absenden des Formulars das Passwort mit seiner Bestätigung verglichen wird. Wenn sie übereinstimmen - fahren wir mit der Registrierung fort, und wenn sie nicht übereinstimmen - geben Sie eine Meldung darüber aus.