1. 项目背景与需求分析
去年夏天接手学校图书馆管理系统改造项目时,我发现原有系统存在几个致命问题:管理员和读者账号权限混乱、图书借阅流程繁琐、数据统计功能缺失。作为一个非科班出身的图书管理员,我决定用PHP+MySQL这套经典组合拳来打造一个多角色管理系统。
这个系统需要同时满足三类用户需求:
- 读者:在线查询、预约、续借
- 馆员:借还书操作、逾期管理
- 管理员:用户管理、数据统计、系统配置
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 基础技术栈选择
选择PHP7.4+MySQL5.7的组合主要基于以下考虑:
- 学校虚拟主机仅支持这两种技术
- 开发周期短(暑假2个月)
- 维护成本低(后续交接给其他馆员)
重要提示:PHP版本必须≥7.0以避免SQL注入防护缺陷
2.2 数据库设计要点
用户表设计采用单表多角色模式:
sql复制CREATE TABLE `users` (
`id` int(11) PRIMARY KEY AUTO_INCREMENT,
`username` varchar(20) UNIQUE,
`password` char(60), -- bcrypt加密
`role` enum('reader','staff','admin') NOT NULL,
`real_name` varchar(50),
`contact` varchar(20)
);
图书表关键字段:
sql复制`status` enum('available','borrowed','reserved','maintenance') DEFAULT 'available'
3. 核心功能实现细节
3.1 权限控制系统
采用中间件实现路由拦截:
php复制function checkRole($requiredRole) {
if($_SESSION['user']['role'] !== $requiredRole) {
header('HTTP/1.1 403 Forbidden');
include('403.html');
exit;
}
}
// 使用示例
checkRole('admin');
