答案:该PHP登录系统包含注册、登录、会话管理和登出功能,使用PDO预处理语句防SQL注入,password_hash安全存储密码,htmlspecialchars防御XSS,通过session控制用户访问,结构清晰且具备基础安全措施。

实现一个基础但完整的 PHP 用户登录系统,需要包含用户注册、登录、会话管理以及登出功能。下面是一个简单、安全且可运行的示例,适合初学者理解核心流程。
数据库准备
创建一张用户表用于存储用户名和加密后的密码:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL);
数据库连接配置(config.php)
统一管理数据库连接:
<?php$host = 'localhost';$db = 'your_database_name';$user = 'your_db_user';$pass = 'your_db_password';try {$pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass);$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);} catch (PDOException $e) {die("数据库连接失败: " . $e->getMessage());}?>
用户注册(register.php)
接收注册信息,验证并安全存储密码:
<?phprequire 'config.php';if ($_SERVER['REQUEST_METHOD'] == 'POST') {$username = trim($_POST['username']);$password = $_POST['password'];
if (empty($username) || empty($password)) { $error = "请填写所有字段";} elseif (strlen($password) prepare("SELECT id FROM users WHERE username = ?"); $stmt->execute([$username]); if ($stmt->rowCount() > 0) { $error = "用户名已存在"; } else { $hashed = password_hash($password, PASSWORD_DEFAULT); $stmt = $pdo->prepare("INSERT INTO users (username, password) VALUES (?, ?)"); $stmt->execute([$username, $hashed]); header("Location: login.php?registered=1"); exit; }}
}?>
= $error ?>
用户登录(login.php)
验证用户凭据并启动会话:
立即学习“PHP免费学习笔记(深入)”;
<?phpsession_start();require 'config.php';if ($_SERVER['REQUEST_METHOD'] == 'POST') {$username = trim($_POST['username']);$password = $_POST['password'];
$stmt = $pdo->prepare("SELECT id, password FROM users WHERE username = ?");$stmt->execute([$username]);$user = $stmt->fetch();if ($user && password_verify($password, $user['password'])) { $_SESSION['user_id'] = $user['id']; $_SESSION['username'] = $username; header("Location: dashboard.php"); exit;} else { $error = "用户名或密码错误";}
}?>
登录
注册成功,请登录
= $error ?>
用户仪表盘(dashboard.php)
受保护页面,仅登录用户可访问:
欢迎,!
这是你的个人面板。
登出
用户登出(logout.php)
销毁会话并返回登录页:
安全提示:
使用 password_hash() 和 password_verify() 处理密码所有输出使用 htmlspecialchars() 防止 XSS使用预处理语句防止 SQL 注入登录页建议启用 HTTPS
基本上就这些。这个登录系统涵盖了核心功能,结构清晰,适合学习和小项目使用。不复杂但容易忽略的是会话安全和输入验证。
以上就是php登录怎么写_php用户登录系统完整实现代码的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1321186.html
微信扫一扫
支付宝扫一扫