总结报告课程名称:服务器端开发技术任课教师:姓名:专业:计算机科学与技术班级:学号: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、创建数据库CREATEDATABASElab_database;uselab_database;图3创建数据库2.基本表格的设计1)用户信息表:login_info记录一卡通系统的管理者的有关信息,如表1所示。表1管理员信息表字段名属性数据类型字段权限admin_id用户编号varchar(10)Primarykeyadmin_password密码varchar(10)Notnulladmin_name名字varchar(10)Notnulluselab_database;droptablelogin_info;createtablelogin_info(login_idvarchar(10)primarykey,login_passwordvarchar(10)notnull,loginnamevarchar(10)notnull);insertintologin_infoVALUES('1504010501','1504010501','孙喜洋');insertintologin_infoVALUES('1504010502','1504010502','孙悟空');insertintologin_infoVALUES('1504010503','1504010503','孙行者');insertintologin_infoVALUES('1504010504','1504010504','行者孙');insertintologin_infoVALUES('1504010505','1504010505','者行孙');insertintologin_infoVALUES('1504020501','1504020501','刘日乐');insertintologin_infoVALUES('1504020502','1504020502','刘邦');insertintologin_infoVALUES('1504020503','1504020503','刘备');insertintologin_infoVALUES('1504020504','1504020504','刘少奇');insertintologin_infoVALUES('1504020505','1504020505','刘德华');insertintologin_infoVALUES('1504020506','1504020506','刘若英');insertintologin_infoVALUES('1504030501','1504030501','白杨');insertintologin_infoVALUES('1504030502','1504030502','白骨精');insertintologin_infoVALUES('1504030503','1504030503','白居易');insertintologin_infoVALUES('1504031504','1504031504','白敬亭');insertintologin_infoVALUES('1504030505','1504030505','白岩松');insertintologin_infoVALUES('1504030506','1504030506','白百合');describelab_info;select*fromlogin_info;图4创建用户信息表2)实验室信息表Labroom记录实验室的信息,如表2所示。表2实验室信息表字段名属性数据类型字段权限labroom_date日期varchar2(10)NotnullLabroom_class课节varchar2(10)Notnulllabroom_address实验室编号varchar2(10)Notnulllabroom_manager负责人varchar2(10)NotnullOrdered是否预定varchar2(10)NotnullOreder_userid预定人编号varchar2(10)Notnulluselab_database;droptablelab_info;createtablelab_info(lab_datevarchar(20)notnull,lab_classvarchar(20)notnull,lab_addressvarchar(20)notnull,lab_mangagervarchar(20)notnull,orderedvarchar(20)notnulldefault'否',ordered_useridvarchar(20)default'',primarykey(lab_date,lab_class,lab_address),foreignkey(ordered_userid)referenceslogin_info(login_id));insertintolab_infoVALUES('20180108','1','J302','1504010502','否','');insertintolab_infoVALUES('20180108','2','J302','1504010502','否','');insertintolab_infoVALUES('20180108','3','J302','1504010502','否','');insertintolab_infoVALUES('20180108','4','J302','1504010502','否','');insertintolab_infoVALUES('20180109','1','J302','1504010502','否','');insertintolab_infoVALUES('20180109','2','J302','1504010502','否','');insertintolab_infoVALUES('20180109','3','J302','1504010502','否','');insertintolab_infoVALUES('20180109','4','J302','1504010502','否','');insertintolab_infoVALUES('20180108','1','E1127','1504010501','否','');insertintolab_infoVALUES('20180108','2','E1127','1504010501','否','');insertintolab_infoVALUES('20180108','3','E1127','1504010501','否','');insertintolab_infoVALUES('20180108','4','E1127','1504010501','否','');insertintolab_infoVALUES('20180109','1','E1127','1504010501','否','');insertintolab_infoVALUES('20180109','2','E1127','1504010501','否','');insertintolab_infoVALUES('20180109','3','E1127','1504010501','否','');insertintolab_infoVALUES('20180109','4','E1127','1504010501','否','');describelab_info;select*fromlab_infoorderbylab_date;deletefromlab_infowherelab_date='20180108';图5创建实验室信息表3.2软件设计开发语言:php、js、css、html开发工具:Chrome,SublimeText3数据库: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图8admin1源代码结构名称:系统管理文件夹。功能:系统管理的源代码。(8)admin2图9admin2源代码结构名称:实验室管理文件夹。功能:实验室管理的源代码。(9)user图10admin源代码结构名称:普通用户文件夹。功能:普通用户的源代码。(10)img名称:图片文件夹。功能:存放项目图片。(11)lib名称:核心函数文件夹。功能:核心函数4.2登录部分4.2.1登录主页面图11登录主页1.在登录页面获取用户名和密码2.在dologin.php判断能否登录,代码如图12所示。图12dogin源代码截图·3.如果可以登录,则跳转login_success.php,具体判断身份并跳转到相应操作页面,如图13所示。图13login_success源代码截图4.如果不可以登录,则跳转login_fail.php,弹出提示窗口,并返回登录页面。4.2.2注册主页面图14注册主页面1.在注册页面获取用户注册信息2.在doregister.php,调用lib下mysql_func_php中的InsertUser函数完成注册,代码如图15所示。图15doregister.php源代码截图3.如果可以注册,弹出提示窗口,并返回登录页面。4.如果不可以登录,弹出提示窗口,并返回注册页面。4.3系统管理员部分4.3.1模块整体描述系统管理员部分开发的代码结构如图16所示。图16系统管理员源代码结构(1)admin1_control.php名称:系统管理员操作页面。功能:实现系统管理员操作的源代码。(2)admin1_left.php名称:系统管理员功能面板页面。功能:实现系统管理员操作功能面板的源代码。(