Menyembunyikan Kata Sandi saat Pendaftaran di PHP
Bidang input kata sandi biasanya merupakan
input dengan tipe password, di mana
karakter yang dimasukkan disembunyikan dengan tanda bintang.
Ini dilakukan agar pelaku kejahatan
tidak dapat mengintip kata sandi pengguna dari
bahu pada saat pendaftaran.
Menyembunyikan kata sandi dengan cara ini tentu saja baik, namun ada masalah - pengguna tidak melihat apa yang dia ketik. Dia mungkin salah saat mengetik suatu karakter dan mendaftar bukan dengan kata sandi yang diinginkannya. Ini akan menyedihkan:(, karena kemudian dia tidak akan bisa login ke situs.
Ada solusi standar untuk masalah ini: pengguna ditampilkan dua input untuk memasukkan kata sandi - di input pertama dia memasukkan kata sandi, dan di input kedua - konfirmasinya, yaitu kata sandi yang sama untuk kedua kalinya:
<form action="" method="POST">
<input name="login">
<input type="password" name="password">
<input type="password" name="confirm">
<input type="submit">
</form>
Tugas situs kita adalah memeriksa bahwa kata sandi dan konfirmasinya cocok, karena secara logis, dalam kasus ini pengguna telah memasukkan tepat apa yang ingin dia masukkan:
<?php
if (!empty($_POST['login']) and !empty($_POST['password']) and !empty($_POST['confirm'])) {
if ($_POST['password'] == $_POST['confirm']) {
// mendaftarkan
} else {
// menampilkan pesan ketidakcocokan
}
}
?>
Modifikasi kode Anda sehingga saat pengiriman form, kata sandi dibandingkan dengan konfirmasinya. Jika cocok - maka lanjutkan pendaftaran, dan jika tidak cocok - maka tampilkan pesan tentang hal tersebut.