PHP'de Kullanıcı Kaydında Şifrenin Gizlenmesi
Şifre giriş alanı genellikle, girilen karakterlerin
yıldızlar altında gizlendiği, tipi password
olan bir input'tur. Bunun yapılma nedeni, kötü niyetli bir kişinin
kullanıcının şifresini kayıt anında omuz üstünden
gözetleyememesidir.
Şifreyi bu şekilde gizlemek elbette iyidir, ancak bir sorun var - kullanıcı ne girdiğini göremez. Bir karakter girerken hata yapabilir ve istediği şifreyle değil, yanlış bir şifreyle kayıt olabilir. Bu üzücü olacaktır:(, çünkü daha sonra sitede oturum açamayacaktır.
Bu sorunun standart bir çözümü vardır: kullanıcıya şifre girmesi için iki input gösterilir - ilk input'a şifresini girer, ikinci input'a ise onayını, yani aynı şifreyi ikinci kez girer:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Sitemizin görevi, şifre ile onayının eşleştiğini kontrol etmektir, çünkü mantıken bu durumda kullanıcı tam olarak girmek istediğini girmiş demektir:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// kayıt işlemini yap
} else {
// eşleşmediğine dair mesajı göster
}
}
?>
Form gönderildiğinde şifrenin onayıyla karşılaştırılması için kodunuzu değiştirin. Eğer eşleşiyorlarsa - kayıt işlemine devam edin, eşleşmiyorlarsa - bununla ilgili bir mesaj gösterin.