课程名称: 任课教师: 姓 名: 专 业: 班 级: 学 号:
页脚.
总结报告
服务器端开发技术 计算机科学与技术 1 计算机科学与技术学院
计算机系 2017年 12 月 31 日
一、 题目
1.1 题目分析:
实验室管理系统是为实验室的管理提供快捷方便的服务,及数据查询、统计为一体。适合围包括国家级重点实验室、全国重点中学、公路监管站、大中专院校、研究所、工厂等。它包括了不同身份对实验室信息,用户的管理,如实验室教室查询,实验课预定,留言等。我们这次是运用这学期的服务端知识实现实验室管理系统的相关功能,在实践中提高理论知识的体会。
1.2 功能要求:
1. 实现不同身份登录实验室管理系统,如系统管理员、实验室管理员、普通用户
2. 系统管理员:开户、销户、查询等。
3. 实验室管理员:增加实验室信息、删除实验室信息、修改实验室信息、查询实验室信息。
4. 普通用户 : 登录、注册、选课、退订、留言。
1.3 完成目标:
1. 创建数据库
2. 创建表,根据以上需求描述创建表及约束、索引、视图;
3. 创建用户,系统管理员、实验室管理员、普通用户等,不同人员有不同的
数据库访问权限。
4. 开发相应的服务器端程序
5. 开发前台界面,可以简化,不必考虑美观,语言不限。
二、 需求分析
页脚.
2.1软件功能
图1 功能框图
2.2 软件界面
图2系统主页
三、 软件设计
3.1数据库设计
页脚.
1、创建数据库
CREATE DATABASE lab_database; use lab_database;
图3 创建数据库
2.基本表格的设计
1)用户信息表:
login_info 记录一卡通系统的管理者的有关信息,如表1所示。
表1 管理员信息表
字段名 admin_id admin_password admin_name 属 性 用户编号 密码 名字 数据类型 varchar(10) varchar(10) varchar(10) 字段权限 Primarykey Not null Not null use lab_database;
drop table login_info; create table login_info
( login_id varchar(10) primary key , login_password varchar(10) not null, loginname varchar(10) not null );
insert into login_info VALUES('1504010501','1504010501','喜洋'); insert into login_info VALUES('1504010502','1504010502','悟空'); insert into login_info VALUES('1504010503','1504010503','行者'); insert into login_info VALUES('1504010504','1504010504','行者'); insert into login_info VALUES('1504010505','1504010505','者行');
insert into login_info VALUES('1504020501','1504020501','日乐');
页脚.
insert into login_info VALUES('1504020502','1504020502','邦'); insert into login_info VALUES('1504020503','1504020503','备'); insert into login_info VALUES('1504020504','1504020504','少奇'); insert into login_info VALUES('1504020505','1504020505','德华'); insert into login_info VALUES('1504020506','1504020506','若英');
insert into login_info VALUES('1504030501','1504030501','白'); insert into login_info VALUES('1504030502','1504030502','白骨精'); insert into login_info VALUES('1504030503','1504030503','白居易'); insert into login_info VALUES('1504031504','1504031504','白敬亭'); insert into login_info VALUES('1504030505','1504030505','白岩松'); insert into login_info VALUES('1504030506','1504030506','白百合');
describe lab_info;
select * from login_info;
图4 创建用户信息表
2)实验室信息表
Labroom记录实验室的信息,如表2所示。
表2实验室信息表 字段名 labroom_date 属 性 日期 课节 实验室编号 负责人 是否预定 预定人编号 数据类型 varchar2(10) varchar2(10) varchar2(10) varchar2(10) varchar2(10) varchar2(10) 字段权限 Not null Not null Not null Not null Not null Not null Labroom_class labroom_address labroom_manager Ordered Oreder_userid 页脚.
use lab_database; drop table lab_info; create table lab_info (
lab_date varchar(20) not null, lab_class varchar(20) not null, lab_address varchar(20) not null, lab_mangager varchar(20) not null,
ordered varchar(20) not null default '否', ordered_userid varchar(20) default '',
primary key(lab_date,lab_class,lab_address),
foreign key(ordered_userid) references login_info(login_id) );
insert into lab_info VALUES('20180108','1','J302','1504010502','否',''); insert into lab_info VALUES('20180108','2','J302','1504010502','否',''); insert into lab_info VALUES('20180108','3','J302','1504010502','否',''); insert into lab_info VALUES('20180108','4','J302','1504010502','否',''); insert into lab_info VALUES('20180109','1','J302','1504010502','否',''); insert into lab_info VALUES('20180109','2','J302','1504010502','否',''); insert into lab_info VALUES('20180109','3','J302','1504010502','否',''); insert into lab_info VALUES('20180109','4','J302','1504010502','否',''); insert into lab_info VALUES('20180108','1','E1127','1504010501','否',''); insert into lab_info VALUES('20180108','2','E1127','1504010501','否',''); insert into lab_info VALUES('20180108','3','E1127','1504010501','否',''); insert into lab_info VALUES('20180108','4','E1127','1504010501','否',''); insert into lab_info VALUES('20180109','1','E1127','1504010501','否',''); insert into lab_info VALUES('20180109','2','E1127','1504010501','否',''); insert into lab_info VALUES('20180109','3','E1127','1504010501','否',''); insert into lab_info VALUES('20180109','4','E1127','1504010501','否',''); describe lab_info;
select * from lab_info order by lab_date;
delete from lab_info where lab_date = '20180108';
页脚.
图5 创建实验室信息表
3.2软件设计
➢ ➢ ➢ ➢ ➢ ➢
开发语言:php、js、css、html 开发工具: Chrome,Sublime Text3 数据库:Mysql
文档编写工具:word 服务器端运行环境:wamp
客户端运行环境:Chrome浏览器
四、 软件实现
4.1整体分工
页脚.
图6 小组分工图
4.2整体项目目录
图7 整体项目目录
(1) index.php
名称:登陆页面。
功能:系统登录页面,获取用户登录系统时的用户名和密码。 (2) register.php 名称:注册页面
功能:系统注册,获取用户注册信息。 (3) dologin.php
名称:处理登陆页面。
功能:处理系统登录页面,获取用户登录系统时的用户名和密码和数据库息
页脚.
是否匹配,如果匹配则跳转login_success.php,否则则跳转到login_fail.php (4) login_success.php 名称:登陆成功页面。
功能:提示登录成功,判断用户登录系统时的用户名是什么身份跳转到相应操作页面。
(5) login_fail.php 名称:登陆失败
功能:提示登录失败,返回登录页面。 (6) dogister.php
名称:处理登录页面。
功能:系统登录页面,获取用户登录系统时的用户名和密码。 (7) admin1
图8 admin1源代码结构
名称:系统管理文件夹。 功能:系统管理的源代码。 (8) admin2
页脚.
图9 admin2源代码结构
名称:实验室管理文件夹。 功能:实验室管理的源代码。 (9) user
图10 admin源代码结构
名称:普通用户文件夹。 功能:普通用户的源代码。 (10)img
名称:图片文件夹。 功能:存放项目图片。
页脚.
(11)lib
名称:核心函数文件夹。 功能:核心函数
4.2登录部分
4.2.1 登录主页面
图11 登录主页
1.在登录页面获取用户名和密码
2.在dologin.php判断能否登录,代码如图12所示。
图12 dogin源代码截图·
3.如果可以登录,则跳转login_success.php,具体判断身份并跳转到相应
页脚.
操作页面,如图13所示。
图13 login_success源代码截图
4. 如果不可以登录,则跳转login_fail.php,弹出提示窗口,并返回登录页面。
4.2.2 注册主页面
图14 注册主页面
1.在注册页面获取用户注册信息
2.在doregister.php ,调用lib下mysql_func_php中的InsertUser函数完成注册,代码如图15所示。
页脚.
图15 doregister.php源代码截图
3.如果可以注册,弹出提示窗口,并返回登录页面。 4. 如果不可以登录,弹出提示窗口,并返回注册页面。
4.3系统管理员部分
4.3.1模块整体描述
系统管理员部分开发的代码结构如图16所示。
图16 系统管理员源代码结构
(1) admin1_control.php
名称:系统管理员操作页面。
功能:实现系统管理员操作的源代码。 (2) admin1_left.php
名称:系统管理员功能面板页面。
功能:实现系统管理员操作功能面板的源代码。 (3) admin1_right.php
页脚.
名称:系统管理员操作页面。
功能:实现系统管理员操作展示页面的源代码。 (4) admin1_top.php
名称:系统管理员用户信息头页面。
功能:实现系统管理员用户信息头的源代码。 (5) admin1_func_AddAdmin1.php
名称:开户(系统管理员)操作页面。 功能:实现开户(系统管理员)的源代码。 (6) admin1_ func_AddAdmin2.php
名称:开户(实验室管理员)操作页面。
功能:实现开户(实验室管理员)操作的源代码。 (7) admin1_ func_Dele.php
名称:销户操作页面。
功能:实现输入用户ID销户操作的源代码。 (8) admin1_ func_SelectAdmin1.php
名称:查看系统管理员信息操作页面。
功能:实现系统管理员信息操作的源代码。 (9) admin1_ func_SelectAdmin2.php
名称:查看实验室管理员信息操作页面。
功能:实现实验室管理员信息操作的源代码。 (10) do_func_AddAdmin1.php
名称: 处理开户信息操作页面。
功能:实现处理开户信息操作的源代码。 (11) do_func _Dele.php
名称: 处理输入操作销户操作页面。
功能:实现输入用户ID销户操作的源代码。 (12) do_func _DeleClick.php
名称: 处理点击操作销户操作页面。
功能:实现输入用户ID销户操作的源代码。
4.3.2模块功能描述
1.整体界面
用html中的frame 分解成为三个页面,最上方的提示用户信息和时间,左侧实现控制面板的功能具体代码如图17,右侧根据相应的功能刷新,具体功能如下图17。
页脚.
图17 系统管理员控制主页
图18 系统管理员控制主页代码截图
图19 系统管理员功能面板代码
2.查询系统管理员信息
页脚.
当点击控制面板的“查询系统管理员信息”按钮时,右侧跳转到
admin1_func_SelectAddmin1.php,以系统管理员的身份连接数据库,并获取所有的系统管理员信息,显示在功能面板,点击相应销户钮则调用
do_func_DeleClick.php函数,操纵数据库,实现删除用户,具体的界面如下图20所示.
图20 系统管理员查询用户页面
图21 admin1_func_SelectAddmin1.php源代码截图
页脚.
图22显示系统管理员数据库函数截图
图23 do_func_DeleClick.php函数代码截图
3.查询实验室管理信息
点击控制面板的“查询实验室管理员信息”按钮时,右侧跳转到admin1_func_SelectAddmin2.php,以系统管理员的身份连接数据库,并获取所有的实验室管理员信息,显示在功能面板,点击相应销户钮则
do_func_DeleClick.php函数,操纵数据库,实现删除用户,具体的界面如下图24所示.
图24 系统管理员查询实验室管理页面
5.查询普通用户信息
页脚.
点击控制面板的“查询普通用户信息”按钮时,右侧跳转到
admin1_func_SelectUser.php,以系统管理员的身份连接数据库,并获取所有的普通用户信息,显示在功能面板,点击相应销户钮则do_func_DeleClick.php函数,操纵数据库,实现删除用户,具体的界面如下图25所示.
图25 系统管理员查询用户页面
6.开户(系统管理员)
当点击控制面板的开户(系统管理员)按钮时,在功能面板跳转
admin_func_Add1.php显示开户(系统管理员)信息登记表,填写开户信息,点击提交按钮,则调用do_func_Add1.php函数,操纵数据库,可以在login_info增加实验室管理员信息,具体的界面如下图26所示.
图26 系统管理员查询实验室管理员页面
页脚.
图27 admin_func_AddAdmin.php源代码截图
图28 do_func_Add1.php源代码截图
图29 InsertAdmin函数代码截图
7.开户(实验室管理员)
当点击控制面板的开户(系统管理员)按钮时,在功能面板跳转
admin_func_Add2.php显示开户(系统管理员)信息登记表,填写开户信息,点
页脚.
击提交按钮,则调用do_func_Add2.php函数,操纵数据库,可以在login_info增加实验室管理员信息,具体的界面如下图30所示.
图30 系统管理员开户(实验室管理员)页面
8.输入用户ID销户
当点击控制面板的“输入用户ID销户”按钮时,在功能面板admin1_func_Dele.php,显示用户Id输入框,,点击提交按钮,则调用
do_func_Dele.php函数,操纵数据库,可以在login_info删除用户信息,具体的界面如下图31所示.
图31 系统管理员输入用户ID销户页面
页脚.
图32 admin1_func_Dele.php源代码截图
图33 do_func_Dele.php源代码截图
图34 DeleAdmin函数源代码截图
4.4实验室管理员部分
4.4.1模块整体描述
实验室管理员部分开发的代码结构如图35所示。
页脚.
图35实验室管理员源代码结构
4.4.2模块功能描述
1.整体界面
用html中的frame ,分解成为三个页面,最上方的提示用户信息和时间,右侧根据相应的功能刷新,具体功能如下图36。
图36 实验室管理员控制主页
2查询实验信息
当点击控制面板的“查询实验信息”按钮时,以获取所有的实验室管理员信息,显示在功能面板,点击相应的按钮,则调用admin2_func_Select.php函数,操纵数据库,可以查询实验室信息,具体的界面如下图37所示.
页脚.
图37实验室管理员查询实验信息页面
3.删除实验信息
当点击控制面板的“删除实验信息”按钮时,以获取所有的实验室管理员信息,显示在功能面板,点击相应的按钮,则调用admin1_func_Dele.php,并提交到do_func_Dele.php操纵数据库,可以删除实验室信息,具体的界面如下图38所示.
图38 实验室管理员删除实验信息页面
4.修改实验信息
当点击控制面板的“修改实验信息”按钮时,显示在更新负责人的表单在功能面板,则调用admin2_func_Update.php,并提交到do_func_Update.php操纵数据库,可以更新实验室信息,具体的界面如下图39所示.
页脚.
图39实验室管理员更新实验信息页面
5.增加实验信息
当点击控制面板的“增加实验信息”按钮时,显示在增加实验室信息的表单在功能面板,则调用admin2_func_Add.php,并提交到do_func_Add.php操纵数据库,可以增加实验室信息,具体的界面如下图40所示.
图40 实验室管理员更新实验信息页面
4.5 普通用户部分
4.5.1模块整体描述
普通用户部分开发的代码结构如图41所示。
页脚.
图41普通用户源代码结构
4.5.2模块功能描述
1.整体界面
用html中的frame ,分解成为三个页面,最上方的提示用户信息和时间,左侧实现控制面板的功能具体代码如图42,右侧根据相应的功能刷新,具体功能如下图42。
图42 普通用户控制主页
2.查询实验信息
当点击控制面板的“查询实验信息”按钮时,调用user_func_SelectAll.php函数获取所有可以预选的的用户信息并显示,点击相应的按钮则调用
do_func_Order.php函数,操纵数据库,实现预定功能,具体的界面如下图43所示.
页脚.
图43普通用户查询实验信息页面
3.我的预定
当点击控制面板的“我的预定”按钮时,调用user_func_SelectAll.php函数获取该用户预定的信息并显示,点击相应的按钮则调用do_func_UnOrder.php函数,操纵数据库,实现退定功能,具体的界面如下图44所示.
图44 普通用户查看我的预定页面
4.留言
当点击控制面板的“留言”按钮时,在功能面板显示留言界面,可以完成添加、删除、查看留言的功能,具体的界面如下图45所示.
页脚.
图45 系统管理员查询实验室管理员页面
五、 成绩评定
1、 同组成员:1504010502 白、1504010513 日乐、1504010522 喜
洋
2、 本人承担的任务量:系统管理员的功能实现 3、 软件功能达成情况: 4、 软件界面设计情况: 5、 设计的独特风格与特点: 6、 程序运行情况: 7、 报告撰写情况: 8、 答辩情况: 9、 成绩:
页脚.
附录:
1. admin1_control.php
2. admin1_left.php
查询系统管理员 |
查询实验室管理员 |
查询普通用户 |
开户(系统管理员) |
开户(实验室管理员) |
输入用户Id销户 |
3. admin1_top.php
您好!, session_start();
echo $_SESSION[\"login_name\"].\"(\". $_SESSION[\"login_id\"].\")\"; ?> 欢迎登录!
当前时间:
4. admin1_func_AddAdmin1.php
页脚.
5. admin1_func_AddAdmin2.php
页脚.
6. admin1_func_Dele.php