php人员管理怎么实现
PHP 人员管理实现方法
人员管理系统通常涉及用户信息的增删改查(CRUD)、权限管理和数据存储。以下是实现的核心方法和步骤:
数据库设计
创建数据库表存储人员信息,常见字段包括:
id(主键)username(用户名)password(加密存储)email(邮箱)role(角色/权限等级)created_at(创建时间)
示例SQL:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) UNIQUE,
role ENUM('admin', 'user') DEFAULT 'user',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
连接数据库
使用PDO或MySQLi连接数据库,推荐PDO防止SQL注入:
$dsn = 'mysql:host=localhost;dbname=your_db;charset=utf8';
$pdo = new PDO($dsn, 'username', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
用户注册功能
实现表单提交和密码加密处理:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$hashedPassword = password_hash($_POST['password'], PASSWORD_DEFAULT);
$stmt = $pdo->prepare("INSERT INTO users (username, password, email) VALUES (?, ?, ?)");
$stmt->execute([$_POST['username'], $hashedPassword, $_POST['email']]);
}
用户登录验证
校验用户凭据并启动会话:
session_start();
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$_POST['username']]);
$user = $stmt->fetch();
if ($user && password_verify($_POST['password'], $user['password'])) {
$_SESSION['user_id'] = $user['id'];
header('Location: dashboard.php');
}
权限控制
通过角色字段限制访问权限:
if ($_SESSION['user_role'] !== 'admin') {
die('无权访问此页面');
}
数据展示与操作
使用分页查询展示用户列表:
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$limit = 10;
$offset = ($page - 1) * $limit;
$stmt = $pdo->query("SELECT * FROM users LIMIT $limit OFFSET $offset");
$users = $stmt->fetchAll();
安全建议
- 使用HTTPS协议传输数据
- 对敏感操作增加CSRF令牌验证
- 定期备份数据库
- 密码采用bcrypt或Argon2算法加密
以上方法可根据实际需求扩展,如增加部门管理、考勤记录等功能模块。






