Ocultação de senha no cadastro em PHP
O campo de entrada de senha geralmente representa um
input com tipo password, no qual
os caracteres digitados são ocultados por asteriscos.
Isso é feito para que um invasor
não possa espiar a senha do usuário por
sobre o ombro no momento do cadastro.
Ocultar a senha dessa forma é claro que é bom, mas existe, no entanto, um problema - o usuário não vê o que está digitando. Ele pode errar ao digitar algum caractere e se cadastrar não com a senha que queria. Isso será triste:(, pois ele depois não conseguirá fazer login no site.
Existe uma solução padrão para este problema: são mostrados ao usuário dois inputs para digitação da senha - no primeiro input ele digita a senha, e no segundo input - a confirmação dela, ou seja, a mesma senha uma segunda vez:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
A tarefa do nosso site é verificar se a senha e sua confirmação coincidem, pois é lógico que neste caso o usuário digitou exatamente o que queria digitar:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// cadastra
} else {
// exibe mensagem de não coincidência
}
}
?>
Modifique seu código para que ao enviar o formulário a senha seja comparada com sua confirmação. Se coincidirem - prossiga com o cadastro, e se não coincidirem - exiba uma mensagem sobre isso.