1、总结报告 课程名称: 服务器端开发技术 任课教师: 姓 名: 专 业: 计算机科学与技术 班 级: 学 号: 1 计算机科学与技术学院计算机系2017年 12 月 31 日一、 题目1.1 题目分析:实验室管理系统是为实验室的管理提供快捷方便的服务,及数据查询、统计为一体。适合范围包括国家级重点实验室、全国重点中学、公路监管站、大中专院校、研究所、工厂等。它包括了不同身份对实验室信息,用户的管理,如实验室教室查询,实验课预定,留言等。我们这次是运用这学期的服务端知识实现实验室管理系统的相关功能,在实践中提高理论知识的体会。1.2 功能要求:1. 实现不同身份登录实验室管理系统,如系统管理员、实
2、验室管理员、普通用户2. 系统管理员:开户、销户、查询等。3. 实验室管理员:增加实验室信息、删除实验室信息、修改实验室信息、查询实验室信息。4. 普通用户 : 登录、注册、选课、退订、留言。 1.3 完成目标:1. 创建数据库2. 创建表,根据以上需求描述创建表及约束、索引、视图;3. 创建用户,系统管理员、实验室管理员、普通用户等,不同人员有不同的数据库访问权限。4. 开发相应的服务器端程序5. 开发前台界面,可以简化,不必考虑美观,语言不限。二、 需求分析2.1软件功能图1 功能框图2.2 软件界面图2系统主页三、 软件设计3.1数据库设计1、创建数据库CREATE DATABASE l
3、ab_database;use lab_database;图3 创建数据库2.基本表格的设计1)用户信息表:login_info 记录一卡通系统的管理者的有关信息,如表1所示。表1 管理员信息表字段名属 性数据类型字段权限admin_id用户编号varchar(10)Primarykeyadmin_password密码varchar(10)Not nulladmin_name名字varchar(10)Not nulluse lab_database;drop table login_info;create table login_info ( login_id varchar(10) prim
4、ary 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,150401050
5、4,行者孙);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 int
6、o 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 VAL
7、UES(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 nullLabroom_class课节
8、varchar2(10)Not nulllabroom_address实验室编号varchar2(10)Not nulllabroom_manager负责人varchar2(10)Not nullOrdered是否预定varchar2(10)Not nullOreder_userid预定人编号varchar2(10)Not nulluse lab_database;drop table lab_info;create table lab_info ( lab_date varchar(20) not null, lab_class varchar(20) not null, lab_addre
9、ss 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,否,)
10、;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,否,);inse
11、rt 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
12、 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,否,);descri
13、be 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名称:登陆页面。功能:系统登录页面,获取用户登录系统
14、时的用户名和密码。(2) register.php名称:注册页面功能:系统注册,获取用户注册信息。(3) dologin.php名称:处理登陆页面。功能:处理系统登录页面,获取用户登录系统时的用户名和密码和数据库中信息是否匹配,如果匹配则跳转login_success.php,否则则跳转到login_fail.php(4) login_success.php名称:登陆成功页面。功能:提示登录成功,判断用户登录系统时的用户名是什么身份跳转到相应操作页面。(5) login_fail.php名称:登陆失败功能:提示登录失败,返回登录页面。(6) dogister.php名称:处理登录页面。功能:系
15、统登录页面,获取用户登录系统时的用户名和密码。(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源代码截图
16、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系统
17、管理员部分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名称:开户
18、(系统管理员)操作页面。功能:实现开户(系统管理员)的源代码。(6) admin1_ func_AddAdmin2.php名称:开户(实验室管理员)操作页面。功能:实现开户(实验室管理员)操作的源代码。(7) admin1_ func_Dele.php名称:销户操作页面。功能:实现输入用户ID销户操作的源代码。(8) admin1_ func_SelectAdmin1.php名称:查看系统管理员信息操作页面。功能:实现系统管理员信息操作的源代码。(9) admin1_ func_SelectAdmin2.php名称:查看实验室管理员信息操作页面。功能:实现实验室管理员信息操作的源代码。(10)
19、 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 系统管理员控制主页代
20、码截图图19 系统管理员功能面板代码2.查询系统管理员信息 当点击控制面板的“查询系统管理员信息”按钮时,右侧跳转到admin1_func_SelectAddmin1.php,以系统管理员的身份连接数据库,并获取所有的系统管理员信息,显示在功能面板,点击相应销户钮则调用 do_func_DeleClick.php函数,操纵数据库,实现删除用户,具体的界面如下图20所示. 图20 系统管理员查询用户页面图21 admin1_func_SelectAddmin1.php源代码截图图22显示系统管理员数据库函数截图图23 do_func_DeleClick.php函数代码截图3.查询实验室管理信息
21、点击控制面板的“查询实验室管理员信息”按钮时,右侧跳转到admin1_func_SelectAddmin2.php,以系统管理员的身份连接数据库,并获取所有的实验室管理员信息,显示在功能面板,点击相应销户钮则do_func_DeleClick.php函数,操纵数据库,实现删除用户,具体的界面如下图24所示. 图24 系统管理员查询实验室管理页面5.查询普通用户信息 点击控制面板的“查询普通用户信息”按钮时,右侧跳转到admin1_func_SelectUser.php,以系统管理员的身份连接数据库,并获取所有的普通用户信息,显示在功能面板,点击相应销户钮则do_func_DeleClick.p
22、hp函数,操纵数据库,实现删除用户,具体的界面如下图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函数代码截图
23、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删除用户信息,
24、具体的界面如下图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.删除实验信息 当点