Nascondere la Password durante la Registrazione in PHP
Il campo di inserimento della password è solitamente un
input con tipo password, in cui
i caratteri inseriti sono nascosti da asterischi.
Questo è fatto in modo che un malintenzionato
non possa spiare la password dell'utente da
dietro le spalle nel momento della registrazione.
Nascondere la password in questo modo è certamente positivo, ma c'è, tuttavia, un problema: l'utente non vede cosa sta inserendo. Potrebbe sbagliarsi nell'inserimento di un carattere e registrarsi con una password diversa da quella che desiderava. Questo sarebbe spiacevole :(, poiché poi non sarebbe in grado di autenticarsi sul sito.
Esiste una soluzione standard a questo problema: all'utente vengono mostrati due input per l'inserimento della password - nel primo input inserisce la password, e nel secondo input - la sua conferma, cioè la stessa password una seconda volta:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Il compito del nostro sito è verificare che la password e la sua conferma coincidano, poiché è logico che in questo caso l'utente abbia inserito esattamente ciò che intendeva inserire:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// registriamo
} else {
// visualizziamo un messaggio di mancata corrispondenza
}
}
?>
Modificate il vostro codice in modo che all'invio del modulo la password venga confrontata con la sua conferma. Se coincidono - si procede con la registrazione, altrimenti - si visualizza un messaggio in merito.