校务管理系统
一个基于 PHP + MySQL 的学校综合管理平台,支持学生学籍管理、教员信息管理、成绩录入与统计、工资管理、班级科目配置及多级权限控制。
功能模块
| 模块 |
主要功能 |
| 学生管理 |
在校学生列表、添加/编辑/删除学生、详细档案(含照片、家长信息、评语)、转学/退学、毕业升级、离校人员管理 |
| 教员管理 |
在职/退休/调离教员管理、详细档案(含照片、简历)、退休/调离操作 |
| 成绩管理 |
期中/期末成绩录入、成绩列表排序、班级平均分统计 |
| 工资管理 |
支持5张独立工资表,自定义工资项目名称(如基本工资、岗位津贴等),自动计算合计,行列汇总 |
| 班级管理 |
通用班级(年级+序号)与自设班级两种添加模式,班级分类,设置班级科目(最多10科) |
| 管理员管理 |
管理员增删改查,分配权限(学生管理、教员管理、工资管理、系统管理),防唯一超级管理员误操作 |
| 系统首页 |
数据统计卡片(学生/教员/离校/班级数),快捷入口 |
环境要求
- Web 服务器:Apache / Nginx / IIS
- PHP:5.6 及以上(推荐 7.x)
- MySQL:5.5 及以上
- 浏览器:支持现代浏览器及 IE8+(页面采用兼容性布局)
安装步骤
-
导入数据库
使用 phpMyAdmin 或 MySQL 命令行执行 init.sql 文件,创建数据库 school_mis 及所有表结构,并插入默认数据。
mysql -u root -p < init.sql
-
配置数据库连接
编辑 mysql_cfg.php,根据实际环境修改数据库连接参数:
define('DB_HOST', 'localhost');
define('DB_USER', 'your_username');
define('DB_PASS', 'your_password');
define('DB_NAME', 'school_mis');
-
部署项目文件
将所有 .php 文件及 init.sql 放入 Web 服务器根目录(例如 htdocs/school_mis/)。
-
设置目录权限(可选)
如果使用照片上传功能,请确保 PHP 临时目录可写,无需额外存储目录(照片直接存入数据库)。
-
访问系统
浏览器访问 http://yourdomain/school_mis/login.php。
默认管理员账号
| 用户名 |
密码 |
权限 |
| admin |
123456 |
全部权限(1111) |
请在首次登录后立即修改密码!
目录/文件说明
| 文件 |
说明 |
login.php |
登录入口 |
main.php |
主框架页(frameset) |
menu.php |
左侧导航菜单 |
top.php |
顶部栏 |
welcome.php |
系统首页仪表盘 |
student.php |
学生管理核心 |
teacher.php |
教员管理核心 |
score.php |
成绩管理 |
wage.php |
工资管理 |
class_manage.php |
班级管理(增删改查) |
class_setup.php |
班级科目快速设置 |
left_student.php |
离校人员名单 |
admin_user.php |
管理员管理 |
common.php |
公共函数(会话、权限、数据库连接) |
mysql_cfg.php |
数据库配置文件 |
logout.php |
退出登录 |
init.sql |
数据库初始脚本 |
使用指南
学生管理
- 添加学生:填写学号、姓名、班级、家长信息等,可上传照片。
- 编辑/查看:支持修改所有字段,查看页面显示完整档案+成绩单。
- 转学/退学:填写离校日期和原因,学生移至“离校人员名单”。
- 毕业升级:自动识别六年级/初三/高三班级,整班毕业并删除班级。
- 离校人员:可查看、恢复学籍或永久删除记录。
教员管理
- 类似学生管理,支持退休(移至离校表)、调离、恢复在职等操作。
- 档案包含个人简历、政治面貌、职称、参加工作时间等。
成绩管理
- 成绩录入:按班级选择期中/期末,逐科录入分数。
- 成绩列表:可点击表头按学号、姓名或各科成绩排序。
- 成绩统计:自动计算各班级各科平均分及总分。
工资管理
- 共5张独立工资表(表一~表五),每张表可自定义标题及7个项目的名称。
- 添加/编辑记录时自动计算“合计”(前5项之和减去第6项)。
- 列表底部显示每列合计及总合计。
班级管理
- 添加班级:支持“通用班级”(年级+序号,如“一年级1班”)和“自设班级”(自定义名称)。
- 编辑班级:可修改班主任及该班的10个科目名称(用于成绩管理页面)。
- 删除班级:同时删除该班所有学生(先移至离校表?代码中直接删除学籍表记录,请注意数据备份)。
权限说明
权限字符串为4位(如 1111),从左到右依次代表:
- 第1位:学生管理
- 第2位:教员管理
- 第3位:工资管理
- 第4位:系统管理(班级管理、管理员设置等)
注意事项
- 数据库表引擎:部分表使用
MyISAM,部分使用 InnoDB,不影响基本功能。
- 照片存储:照片以
LONGBLOB 形式存入数据库,可能增大数据库体积,建议定期清理。
- 毕业升级逻辑:代码中仅匹配班级名包含“6年级”“初中3年级”“高中3年级”的班级。若班级命名规则不同,需修改
student.php 中的 SQL 条件。
- 唯一超级管理员保护:当系统中只有一个权限为
1111 的管理员时,禁止其降低权限、修改用户名或删除自己。
- IE8 兼容:首页统计卡片使用
<table> 布局,确保在 IE8 下正常显示。
- SQL 注入防护:部分代码直接拼接变量(如
$class 未使用参数化查询),建议生产环境改用预处理语句或严格过滤。
常见问题
Q:登录后提示“无权限访问”?
A:检查 管理员表 中该用户的权限字段值是否正确(例如系统管理需要第4位为1)。
Q:添加班级后,成绩录入页面看不到该班级?
A:请确保在“班级管理”中为该班级设置了科目(编辑班级,填写科目1~科目10)。成绩录入页面依赖科目名称显示表头。
Q:照片上传后不显示?
A:确认 student.php 中查看页面使用 base64_encode 输出图片。若图片损坏,检查数据库字段是否为 LONGBLOB,上传文件大小是否超过 PHP 限制。
Q:工资表合计计算规则能否修改?
A:目前固定为 项目1+项目2+项目3+项目4+项目5-项目6。如需自定义,请修改 wage.php 中的 updateTotal 函数和添加/编辑时的计算逻辑。
Q:如何备份数据?
A:使用 mysqldump 命令备份数据库,或通过 phpMyAdmin 导出。
开发说明:本系统为早期 PHP 原生代码,未使用框架,适合小型学校或培训机构内部使用。如需扩展功能(如多学期、考试类型、选课等),请自行二次开发。
版本:v1.2.0.1073 RELEASE
最后更新:2026-04-05
|