使用PHP实现简单的用户注册和登录系统
<?php
// 连接数据库
$db = new mysqli('localhost', 'username', 'password', 'database');
// 检查连接
if ($db->connect_error) {
die('连接失败: ' . $db->connect_error);
}
// 用户注册
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['register'])) {
$username = $db->real_escape_string($_POST['username']);
$password = password_hash($_POST_['password'], PASSWORD_DEFAULT);
$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
if ($db->query($sql) === TRUE) {
echo "新用户注册成功。";
} else {
echo "错误: " . $sql . "<br>" . $db->error;
}
}
// 用户登录
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['login'])) {
$username = $db->real_escape_string($_POST['username']);
$password = $_POST['password'];
$sql = "SELECT password FROM users WHERE username = '$username'";
$result = $db->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row['password'])) {
echo "登录成功!";
} else {
echo "密码错误。";
}
} else {
echo "用户名不存在。";
}
}
?>
<!-- 注册表单 -->
<form action="index.php" method="post">
用户名: <input type="text" name="username" required><br>
密码: <input type="password" name="password" required><br>
<input type="submit" name="register" value="注册">
</form>
<!-- 登录表单 -->
<form action="index.php" method="post">
用户名: <input type="text" name="username" required><br>
密码: <input type="password" name="password" required><br>
<input type="submit" name="login" value="登录">
</form>
在这个简单的用户注册和登录系统中,我们首先连接到数据库,然后根据用户的交互创建相应的SQL语句。注册时,我们使用mysqli::real_escape_string
来防止SQL注入,并使用password_hash
来加密密码。登录时,我们使用password_verify
来验证密码。这个例子假设数据库已经创建,并且有一个名为users
的表,其中有username
和password
两个字段。
评论已关闭