在PHP后台实现登录功能通常涉及以下几个基础概念和技术点:
session
来跟踪用户状态。bcrypt
)来存储密码。以下是一个简单的PHP登录实现示例:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="login.php" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
<?php
session_start();
// 数据库连接
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 检查表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// 查询用户信息
$sql = "SELECT id, password FROM users WHERE username = ?";
if ($stmt = $conn->prepare($sql)) {
$stmt->bind_param("s", $username);
if ($stmt->execute()) {
$stmt->store_result();
if ($stmt->num_rows == 1) {
$stmt->bind_result($id, $hashed_password);
if ($stmt->fetch() && password_verify($password, $hashed_password)) {
// 设置会话
$_SESSION["loggedin"] = true;
$_SESSION["id"] = $id;
$_SESSION["username"] = $username;
header("location: welcome.php");
exit;
} else {
echo "Invalid username or password.";
}
}
}
$stmt->close();
}
}
$conn->close();
?>
<?php
session_start();
if (!isset($_SESSION["loggedin"]) || !$_SESSION["loggedin"]) {
header("location: login.html");
exit;
}
echo "Welcome, " . $_SESSION["username"] . "!";
?>
通过以上步骤和示例代码,你可以实现一个基本的PHP后台登录功能。如果遇到问题,可以参考相关文档或在线社区寻求帮助。
云+社区技术沙龙[第15期]
云+社区技术沙龙[第9期]
视频云
腾讯云数智驱动中小企业转型升级系列活动
高校公开课
云+社区沙龙online [技术应变力]
云+社区沙龙online [技术应变力]
领取专属 10元无门槛券
手把手带您无忧上云