Ascunderea parolei la înregistrare în PHP
Câmpul pentru introducerea parolei este de obicei un
input cu tipul password, în care
caracterele introduse sunt ascunse sub asteriscuri.
Acest lucru se face pentru ca un infractor
să nu poată vedea parola utilizatorului peste
umăr în momentul înregistrării.
Ascunderea parolei în acest fel este bineînțeles bună, dar există, totuși, o problemă - utilizatorul nu vede ce introduce. El poate să greșească la introducerea unui caracter și să se înregistreze cu o parolă diferită de cea pe care și-o dorea. Acest lucru va fi trist:(, deoarece apoi nu va putea să se autentifice pe site.
Există o soluție standard pentru această problemă: utilizatorului i se arată două inputuri pentru introducerea parolei - în primul input introduce parola, iar în al doilea input - confirmarea acesteia, adică aceeași parolă a doua oară:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Sarcina site-ului nostru este să verifice că parola și confirmarea acesteia coincid, deoarece este logic că în acest caz utilizatorul a introdus exact ceea ce și-a dorit să introducă:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// înregistrăm
} else {
// afișăm mesaj despre necoincidență
}
}
?>
Modificați-vă codul astfel încât la trimiterea formularului parola să fie comparată cu confirmarea acesteia. Dacă acestea coincid - atunci continuăm înregistrarea, iar dacă nu coincid - atunci afișați un mesaj despre aceasta.