PHP 用户登录代码是指使用 PHP 编写的用于验证用户身份并允许其访问受保护资源的程序。通常,用户登录系统包括以下几个步骤:
以下是一个简单的 PHP 用户登录代码示例:
<?php
session_start();
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 检查用户输入
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// 防止 SQL 注入
$username = $conn->real_escape_string($username);
$password = $conn->real_escape_string($password);
// 查询数据库
$sql = "SELECT id, password FROM users WHERE username = '$username'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row["password"])) {
$_SESSION["loggedin"] = true;
$_SESSION["id"] = $row["id"];
$_SESSION["username"] = $username;
header("location: welcome.php");
exit;
} else {
echo "密码错误";
}
} else {
echo "用户名不存在";
}
}
$conn->close();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<h2>登录</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
用户名: <input type="text" name="username"><br><br>
密码: <input type="password" name="password"><br><br>
<input type="submit" value="登录">
</form>
</body>
</html>mysqli_real_escape_string 或预处理语句(如 PDO)来防止 SQL 注入。password_hash 和 password_verify 函数来存储和验证密码。session_start(),并设置适当的会话超时时间。通过以上方法,可以确保 PHP 用户登录系统的安全性和可靠性。
没有搜到相关的文章