Cara menggunakan PHP untuk membangunkan sistem pendaftaran dan log masuk pengguna
Dengan populariti dan perkembangan Internet, pendaftaran pengguna dan sistem log masuk telah menjadi ciri penting untuk hampir semua laman web dan aplikasi. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan sistem pendaftaran dan log masuk pengguna yang mudah, dan menyediakan sampel kod untuk rujukan.
1. Reka bentuk pangkalan data
Sebelum membangunkan sistem pendaftaran dan log masuk pengguna, kami terlebih dahulu mereka pangkalan data. Katakan kita perlu menyimpan maklumat pengguna berikut: nama pengguna, kata laluan, alamat e-mel, masa pendaftaran, dsb.
Pertama sekali, buat jadual data bernama users
的数据表,结构如下:
CREATE TABLE `users` ( `id` INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, `username` VARCHAR(50) NOT NULL, `password` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, `reg_time` DATETIME NOT NULL );
二、注册功能
接下来,我们开始编写用户注册功能的代码。
首先,创建一个名为register.php
的文件。在文件中,我们先验证用户提交的注册表单数据是否合法,然后将合法的数据保存到数据库中。
<?php // 连接数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'databasename'); if (!$conn) { die("数据库连接失败:" . mysqli_connect_error()); } // 处理表单提交 if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $password = password_hash($_POST['password'], PASSWORD_DEFAULT); $email = $_POST['email']; $reg_time = date('Y-m-d H:i:s'); // 检查用户名是否已存在 $check_username = mysqli_query($conn, "SELECT * FROM users WHERE username='$username'"); if (mysqli_num_rows($check_username) > 0) { die("用户名已存在"); } // 保存用户数据到数据库 $register_user = mysqli_query($conn, "INSERT INTO users (username, password, email, reg_time) VALUES ('$username', '$password', '$email', '$reg_time')"); if ($register_user) { echo "注册成功"; } else { echo "注册失败:" . mysqli_error($conn); } } // 关闭数据库连接 mysqli_close($conn); ?>
三、登录功能
接下来,我们编写用户登录功能的代码。
首先,创建一个名为login.php
<?php // 连接数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'databasename'); if (!$conn) { die("数据库连接失败:" . mysqli_connect_error()); } // 处理表单提交 if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = $_POST['username']; $password = $_POST['password']; // 查询用户数据 $query_user = mysqli_query($conn, "SELECT * FROM users WHERE username='$username'"); if (mysqli_num_rows($query_user) > 0) { $user = mysqli_fetch_assoc($query_user); // 验证密码 if (password_verify($password, $user['password'])) { echo "登录成功"; } else { echo "密码错误"; } } else { echo "用户不存在"; } } // 关闭数据库连接 mysqli_close($conn); ?>
Seterusnya, kita mula menulis kod untuk fungsi pendaftaran pengguna.
register.php
. Dalam fail, kami mula-mula mengesahkan sama ada data borang pendaftaran yang diserahkan oleh pengguna adalah sah, dan kemudian menyimpan data undang-undang ke pangkalan data. <!DOCTYPE html> <html> <head> <title>用户注册</title> </head> <body> <h1>用户注册</h1> <form action="register.php" method="POST"> <label>用户名:</label> <input type="text" name="username" required><br> <label>密码:</label> <input type="password" name="password" required><br> <label>邮箱:</label> <input type="email" name="email" required><br> <input type="submit" value="注册"> </form> </body> </html>
Seterusnya, kami menulis kod untuk fungsi log masuk pengguna.
Mula-mula, buat fail bernama login.php
. Dalam fail, kami mengesahkan sama ada data borang log masuk yang diserahkan oleh pengguna adalah betul dan memprosesnya dengan sewajarnya berdasarkan hasil pengesahan.
<!DOCTYPE html> <html> <head> <title>用户登录</title> </head> <body> <h1>用户登录</h1> <form action="login.php" method="POST"> <label>用户名:</label> <input type="text" name="username" required><br> <label>密码:</label> <input type="password" name="password" required><br> <input type="submit" value="登录"> </form> </body> </html>
Atas ialah kandungan terperinci Cara menggunakan PHP untuk membangunkan sistem pendaftaran dan log masuk pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!