Semasa proses pembangunan laman web, sistem log masuk pengguna adalah fungsi yang sangat biasa. Salah satu langkah penting ialah mengesahkan sama ada nama pengguna dan kata laluan yang dimasukkan oleh pengguna sepadan, memastikan pengguna memasukkan maklumat yang betul sebelum memasuki sistem.
Artikel ini akan memperkenalkan cara menggunakan PHP dan MySQL untuk melaksanakan fungsi pengesahan nama pengguna.
- Buat pangkalan data dan jadual pengguna
Pertama, kita perlu mencipta pangkalan data dalam MySQL dan mencipta jadual pengguna di dalamnya. Dalam jadual pengguna ini, kita perlu memasukkan medan berikut:
- id: ID pengguna, meningkat sendiri.
- nama pengguna: nama pengguna, unik.
- kata laluan: kata laluan pengguna, disulitkan dan disimpan.
- created_at: Masa penciptaan, merekodkan masa pendaftaran pengguna.
Kita boleh menggunakan pernyataan SQL berikut untuk mencipta jadual pengguna ini:
BUAT ujian PANGKALAN DATA;
UJIAN GUNA;
BUAT pengguna JADUAL (
id INT ( 11) BUKAN NULL AUTO_INCREMENT,
nama pengguna VARCHAR(255) BUKAN NULL UNIK,
kata laluan VARCHAR(255) BUKAN NULL,
dicipta_pada DATETIME BUKAN NULL,
KUNCI UTAMA (id)
;
- Tulis kod PHP
Seterusnya, kita perlu menulis kod PHP untuk menyambung ke pangkalan data MySQL dan mengesahkan nama pengguna dan kata laluan. Berikut ialah contoh kod PHP mudah:
//Maklumat sambungan pangkalan data MySQL
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "test";
// Cipta sambungan MySQL
$conn = new mysqli($servername, $username, $password, $dbname) ;
jika ($conn->connect_error) {
die("Sambungan gagal: " . $conn->connect_error);
}
// Dapatkan parameter POST Nama pengguna dan kata laluan
$nama pengguna = $_POST["nama pengguna"];
$kata laluan = $_POST["kata laluan"];
// Sahkan nama pengguna dan kata laluan
$sql = " PILIH * DARI pengguna WHERE nama pengguna='{$username}'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row["password"])) {
echo "登录成功";
Salin selepas log masuk
} else {
echo "密码不正确";
Salin selepas log masuk
}
} lain {
echo "Nama pengguna tidak wujud";
}
$conn->close();
?> 🎜>
Proses utama kod PHP di atas termasuk:
Mewujudkan sambungan pangkalan data MySQL untuk menyambung dan mengendalikan data MySQL. Ia termasuk empat parameter sambungan: $servername, $username, $password, dan $dbname, yang digunakan untuk menentukan alamat pelayan, nama pengguna, kata laluan dan nama pangkalan data sambungan MySQL. - Dapatkan parameter POST yang diserahkan oleh pengguna, termasuk nama pengguna dan kata laluan.
- Gunakan pernyataan SQL SELECT untuk bertanya sama ada terdapat rekod yang sepadan dengan nama pengguna dalam jadual pengguna. Jika perlawanan berjaya, gunakan fungsi password_verify untuk mengesahkan sama ada kata laluan yang dimasukkan oleh pengguna adalah konsisten dengan kata laluan yang disimpan dalam pangkalan data. Apa yang perlu diperhatikan di sini ialah kita harus menggunakan fungsi password_hash untuk menyulitkan kata laluan pengguna sebelum menyimpannya dalam pangkalan data semasa pendaftaran pengguna untuk meningkatkan keselamatan.
- Jika pengesahan berjaya, keluarkan "Log masuk berjaya" kepada pengguna. Jika tidak, bergantung pada ralat pengesahan, "Kata Laluan tidak betul" atau "Nama pengguna tidak wujud" adalah output.
- Buat halaman pendaftaran pengguna
-
Untuk memudahkan proses pendaftaran pengguna dan menambah rekod pengguna baharu dalam pangkalan data, kami boleh membuat halaman pendaftaran pengguna. Dalam halaman ini, kami akan meminta pengguna untuk mengisi nama pengguna dan kata laluan mereka, dan menghantar maklumat ini kepada kod PHP yang kami tulis sebelum ini melalui kaedah POST.
Berikut ialah contoh halaman pendaftaran pengguna yang mudah:
Halaman pendaftaran pengguna Pendaftaran Pengguna
Dalam kod di atas, kami menggunakan teg