Parooli peitmine registreerumisel PHP-s
Parooli sisestusväli on tavaliselt
input tüübiga password, milles
sisestatud sümbolid on peidetud tärnide alla.
See on tehtud selleks, et pahatahtlik isik
ei saaks kasutaja paroolit õlalt vaadata
registreerumise hetkel.
Parooli niimoodi peitmine on muidugi hea, kuid on siiski probleem - kasutaja ei näe, mida ta sisestab. Ta võib teha vea mõne sümboli sisestamisel ja registreeruda mitte selle parooliga, millega ta tahtis. See on kurb :(, kuna ta ei saa seejärel saidil sisse logida.
Sellele probleemile on standardset lahendust: kasutajale kuvatakse kaks parooli sisestusvälja - esimesse välja sisestab ta parooli, ja teisse välja - selle kinnituse, see tähendab sama parooli teist korda:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Meie saidi ülesanne on kontrollida, et parool ja selle kinnitus ühtivad, kuna on loogiline, et sel juhul sisestas kasutaja täpselt selle, mida ta sisestada tahtis:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// registreerime
} else {
// kuvame teate mittevastavuse kohta
}
}
?>
Muutke oma koodi nii, et vormi saatmisel võrreldaks parooli selle kinnitusega. Kui need ühtivad - jätkame registreerimist, ja kui need ei ühti - siis kuvame selle kohta teate.