Скриване на парола при регистрация на PHP
Полето за въвеждане на парола обикновено представлява
инпут с тип password, в който
въведените символи се скриват под звездички.
Това е направено така, че злонамерени лица
да не могат да подследят паролата на потребителя през
рамото в момента на регистрация.
Скриването на паролата по този начин разбира се е добре, но има, обаче, проблем - потребителят не вижда какво въвежда. Той може да сгреши при въвеждането на някой символ и да се регистрира не с желаната парола, а с друга. Това ще бъде тъжно:(, тъй като след това няма да може да се автентикира в сайта.
Съществува стандартно решение на този проблем: на потребителя се показват два инпута за въвеждане на парола - в първия инпут той въвежда паролата, а във втория инпут - потвърждението ѝ, то ест същата парола за втори път:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Задачата на нашия сайт е да провери дали паролата и потвърждението ѝ съвпадат, тъй като е логично, че в този случай потребителят е въвел точно това, което е искал да въведе:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// регистрираме
} else {
// извеждаме съобщение за несъответствие
}
}
?>
Модифицирайте вашия код така, че при изпращане на формата паролата да се сравнява с нейното потвърждение. Ако те съвпадат - продължаваме с регистрацията, а ако не съвпадат - извеждаме съобщение за това.