Skjul adgangskode ved registrering på PHP
Et adgangskodefelt er normalt et
input med typen password, hvor
de indtastede tegn er skjult bag stjerner.
Dette er gjort for at en illvillig person
ikke kan kigge over skulderen og se brugerens adgangskode
i øjeblikket af registrering.
At skjule adgangskoden på denne måde er selvfølgelig godt, men der er dog et problem - brugeren kan ikke se, hvad der bliver indtastet. Ved indtastning kan brugeren lave en fejl med et bestemt tegn og blive registreret med en forkert adgangskode, end den de ønskede. Det ville være trist:(, da de derefter ikke vil kunne logge ind på sitet.
Der findes en standardløsning på dette problem: brugeren vises to inputfelter til indtastning af adgangskode - i det første felt indtaster de adgangskoden, og i det andet felt - bekræftelsen af den, det vil sige den samme adgangskode for anden gang:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Vores sites opgave er at kontrollere, at adgangskoden og dens bekræftelse stemmer overens, da det er logisk, at brugeren i dette tilfælde har indtastet præcis det, de ønskede at indtaste:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// registrer
} else {
// vis besked om ikke-overensstemmelse
}
}
?>
Modificer din kode, så når formularen sendes, sammenlignes adgangskoden med dens bekræftelse. Hvis de stemmer overens - fortsætter vi med registreringen, og hvis de ikke stemmer overens - vis en besked om dette.