Скрытие пароля при регистрации на 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 {
// выведем сообщение о несовпадении
}
}
?>
Модифицируйте ваш код так, чтобы при отправке формы пароль сравнивался с его подтверждением. Если они совпадают - то продолжаем регистрацию, а если не совпадают - то выводим сообщение об этом.