资源描述
总结报告
课程名称: 服务器端开发技术
任课教师:
姓 名:
专 业: 计算机科学与技术
班 级:
学 号: 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
用户编号
varchar(10)
Primarykey
admin_password
密码
varchar(10)
Not null
admin_name
名字
varchar(10)
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)
Not null
Labroom_class
课节
varchar2(10)
Not null
labroom_address
实验室编号
varchar2(10)
Not null
labroom_manager
负责人
varchar2(10)
Not null
Ordered
是否预定
varchar2(10)
Not null
Oreder_userid
预定人编号
varchar2(10)
Not null
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.删除实验信息
当点
展开阅读全文