Dengan aplikasi Internet yang meluas, sistem log masuk dan pendaftaran pengguna telah menjadi fungsi penting untuk banyak laman web. Dalam artikel ini, kami akan melaksanakan sistem log masuk dan pendaftaran pengguna yang mudah melalui bahasa PHP.
Pertama, kita perlu mencipta pangkalan data untuk menyimpan maklumat pengguna. Kami akan menggunakan pangkalan data MySQL dan mencipta jadual yang dipanggil "pengguna" untuk menyimpan nama pengguna dan kata laluan.
BUAT pengguna JADUAL (
id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, PRIMARY KEY (id)
);
Seterusnya, kita perlu membuat halaman pendaftaran, dengan untuk meminta pengguna memasukkan nama pengguna dan kata laluan mereka. Dalam halaman pendaftaran, kita perlu menggunakan borang HTML untuk mengumpul maklumat input pengguna dan menggunakan kod PHP untuk memasukkan maklumat ini ke dalam pangkalan data.
Berikut ialah kod untuk halaman pendaftaran mudah:
<title>用户注册</title>
< ;/head>
<h1>用户注册</h1> <form action="register.php" method="post"> <label>用户名:</label> <input type="text" name="username" required> <br><br> <label>密码:</label> <input type="password" name="password" required> <br><br> <input type="submit" value="注册"> </form>
Dalam kod di atas, kami menggunakan borang HTML untuk mengumpul Pengguna memasukkan maklumat dan menetapkan atribut tindakan borang kepada "register.php", yang bermaksud bahawa apabila pengguna menyerahkan borang, kod PHP memproses maklumat input. Seterusnya, kami akan menulis fail register.php untuk mengendalikan input ini.
Sebelum memasukkan data borang ke dalam pangkalan data, kita perlu memastikan bahawa data input adalah sah. Kami mengesahkan bahawa nama pengguna adalah unik dan kata laluan disulitkan. Berikut ialah kod fail register.php:
// Dapatkan input pengguna
$nama pengguna = $_POST['nama pengguna'];
$kata laluan = $_POST[ 'kata laluan'];
//Uji sambungan pangkalan data
$mysqli = mysqli baharu('localhost', 'root', '', 'test');
if ($ mysqli-> ;connect_errno) {
die('连接失败: '.$mysqli->connect_error);
}
// Semak sama ada nama pengguna itu unik
$result = $mysqli->query("SELECT * FROM users WHERE username= '$username' ");
if ($result->num_rows > 0) {
die('用户名已存在');
}
// Kata laluan disulitkan
$password = password_hash($ kata laluan, PASSWORD_DEFAULT) ;
// Masukkan maklumat pengguna ke dalam pangkalan data
$sql = "MASUKKAN KE DALAM pengguna (nama pengguna, kata laluan) NILAI ('$nama pengguna', '$kata laluan')";
jika ($mysqli ->query($sql)) {
echo '注册成功';
} lain {
echo '注册失败: '.$mysqli->error;
}
?>
Dalam daftar.php fail di atas, kami mula-mula mendapatkan nama pengguna dan kata laluan yang dimasukkan oleh pengguna. Seterusnya, kami menyemak sama ada nama pengguna sudah wujud dalam pangkalan data. Kemudian, kami menggunakan fungsi password_hash untuk menyulitkan kata laluan. Akhir sekali, kami memasukkan nama pengguna dan kata laluan yang disulitkan ke dalam pangkalan data. Jika sisipan berjaya, kami akan mengeluarkan mesej "Pendaftaran Berjaya". Jika tidak, kami akan mengeluarkan mesej "Pendaftaran gagal".
Seterusnya, kami akan mencipta halaman log masuk untuk pengguna memasukkan nama pengguna dan kata laluan berdaftar mereka. Dalam halaman log masuk, kami akan menggunakan borang HTML untuk mengumpul maklumat input pengguna dan menggunakan kod PHP untuk mengesahkan maklumat identiti pengguna.
Berikut ialah kod untuk halaman log masuk mudah:
<title>用户登录</title>
< ;/head>
<h1>用户登录</h1> <form action="login.php" method="post"> <label>用户名:</label> <input type="text" name="username" required> <br><br> <label>密码:</label> <input type="password" name="password" required> <br><br> <input type="submit" value="登录"> </form>
Dalam kod di atas, kami menggunakan borang HTML untuk mengumpulkan maklumat input pengguna, dan atribut tindakan borang ditetapkan kepada "login.php", yang bermaksud bahawa apabila pengguna menyerahkan borang, kod PHP memproses maklumat input. Seterusnya, kami akan menulis fail login.php untuk mengesahkan maklumat identiti pengguna.
Sebelum memproses permintaan log masuk pengguna, kami perlu memastikan bahawa data yang dimasukkan adalah sah. Kami akan menyemak sama ada nama pengguna wujud dan jika kata laluan yang dimasukkan sepadan dengan kata laluan dalam pangkalan data. Berikut ialah kod fail login.php:
// Dapatkan input pengguna
$nama pengguna = $_POST['nama pengguna'];
$kata laluan = $_POST[ 'kata laluan'];
//Uji sambungan pangkalan data
$mysqli = mysqli baharu('localhost', 'root', '', 'test');
if ($ mysqli-> ;connect_errno) {
die('连接失败: '.$mysqli->connect_error);
}
// Semak sama ada nama pengguna wujud
$result = $mysqli->query("SELECT * FROM users WHERE username=' $username' ");
if ($result->num_rows == 0) {
die('用户名不存在,请检查输入');
}
// Semak sama ada kata laluan itu betul
$user = $result-> fetch_assoc();
if (!password_verify($password, $user['password'])) {
die('密码错误,请检查输入');
}
gema 'Selamat Datang'.$ nama pengguna;
?>
Dalam fail login.php di atas, kami mula-mula mendapatkan nama pengguna dan kata laluan yang dimasukkan oleh pengguna. Seterusnya, kami menyemak sama ada nama pengguna wujud dalam pangkalan data. Kami kemudian mendapatkan kata laluan pengguna itu daripada pangkalan data dan menggunakan fungsi password_verify untuk menyemak sama ada kata laluan yang dimasukkan sepadan dengan kata laluan dalam pangkalan data. Jika kata laluan sepadan, mesej alu-aluan akan dikeluarkan. Jika tidak, kami mencetak mesej ralat dan menamatkan program.
Pada ketika ini, kami telah menyelesaikan pelaksanaan sistem log masuk dan pendaftaran pengguna yang mudah. Sistem ini membolehkan pengguna mendaftar akaun di laman web dan log masuk untuk mengakses halaman tertentu. Sudah tentu, ini hanya kaedah pelaksanaan yang paling asas Dalam aplikasi sebenar, fungsi yang lebih kompleks diperlukan untuk memastikan ketersediaan dan keselamatan sistem.
Atas ialah kandungan terperinci Melaksanakan sistem log masuk dan pendaftaran pengguna menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!