PHP酒店网站管理系统毕业论文设计.docx
《PHP酒店网站管理系统毕业论文设计.docx》由会员分享,可在线阅读,更多相关《PHP酒店网站管理系统毕业论文设计.docx(31页珍藏版)》请在冰豆网上搜索。
PHP酒店网站管理系统毕业论文设计
石家庄铁路职业技术学院
毕业设计
PHP酒店网站管理系统
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
石家庄铁路职业技术学院信息工程系
2011届毕业生毕业设计任务书
题目名称
基于PHP的酒店网站管理系统
课题来源
自拟
指导教师
起止日期
2010年11月29日至2010年12月31日
设计内容、主要技术参数与工作量(计算说明书、论文字数、图纸张数、外文翻译、计算机应用)
本系统主要为酒店管理设计和开发的,其目的在于实现在线预订,留言管理,以及网站前台设计,网站后台管理,酒店管理系统:
(1)在线预订。
用户可以在本网站在线预订,输入预订人的详细信息和入住人的信息,入住时间以及预计退房时间,点击预订,可传入数据库预定表中。
(2)在线留言。
客户能够在线留言,输入留言的人的信息,留言内容,点击提交,进入数据库留言表中,管理人员可根据留言情况向用户反馈的信息作出回应。
(3)网站后台管理。
这部分内容主要实现用户管理(添加、删除、修改)、客房管理、酒店动态管理、留言管理
(4)酒店管理系统。
酒店管理人员可以对客户预订、入住、退房等行为进行管理、查询。
也可以对酒店的房间状态进行查询。
课题要求及目标
该系统制作完成后,即投入使用,因此要求系统的美观性、健壮性、安全性、可维护可管理性都要很好,以便使系统能长期进行工作。
使用的工具软件
PHP、网页开发工具
提交的设计资料
软件、毕业论文(至少3000字)
进度计划
阶段日期
计划完成工作量
指导教师检查意见
11月29日-12月3日(1周)
选题、教师讲解、需求分析
12月6日-12月10日(1周)
完成概要设计,如数据库设计、框架设计、等
12月13日-12月24日(2周)
完成详细设计,基本完成程序功能
12月27日-12月31日(1周)
系统完善与改进,撰写毕业论文
网络与通信教研室
2010年11月28日
摘要
随着互联网和宽带上网的普及,Internet网站在中国异军突起,并日益渗透到人们的日常生活中。
网站是运用现代通信技术、计算机和网络技术进行的一种社会形态,其目的是通过互联网满足人们的需求。
在信息高度发达的今天,酒店业务涉及的各个工作环节已不再仅仅是传统的住宿、结算业务,而是更广、更全面的服务性行业代表。
酒店作为一个服务性行业,从客房的营销即客人的预定开始,到入住登记直到最后退房结账,整个过程应该能够体现以宾客为中心,提供快捷方便服务,给宾客感受一种顾客至上的享受,提高管理水平,简化各种复杂操作,在最短时间内完成酒店业务规范操作,这样才能令旅客舒适难忘。
因此,采用全新的计算机管理系统,将成为提高酒店的管理效率,改善服务水准的手段之一。
关键词:
在线预订在线留言PHP空房查询预定查询
第一章绪论
1.1引言
中国目前正在以前所未有的规模在进行国际化的进程,酒店行业也在进行深刻的变革,如何与国际接轨,不断提高酒店的竞争力,提高酒店的品牌形象,是酒店行业普遍关注的课题。
随着酒店信息化管理的进一步深入开展,越来越多的新技术被应用于酒店信息管理系统中。
如何让人们的需求得到满足?
在线预订酒店管理系统应运而生。
酒店管理系统无疑是酒店管理中非常重要的环节。
1.2开发背景及意义
随着科学技术的进步和信息化时代的到来,管理信息系统在各个领域都得到广泛的应用。
尤其是它在企业管理和计算机应用领域的重要性日益显现。
它不仅已经成为教育教学专业的核心课程,而且也是企业管理和计算机应用领域的一门重要的技术。
在经济全球化的激烈竞争中,方便、快捷的管理手段已经成为所有管理部门的迫切要求。
酒店作为社会需求的实体,更应该通过信息资源的深入开发和广泛利用,不断提高生产、经营、管理、决策的效率和水平,进而提高酒店经济效益和综合竞争力,实现从传统管理向现代管理的转变。
新的信息系统使酒店有机会重新设计它的组织结构、职责权限、产品工艺、梳理工作流程等,从而提高酒店的生产率、劳动效益和经济效益。
第二章系统分析及关键技术介绍
2.1功能需求分析
需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。
这个步骤是对理解需求的升华,直接关系到该系统的质量。
经过开发者同客户的需求分析后,确定酒店客房管理系统的功能模块(用例)包括:
网上预订、网上留言、留言管理、客房预订管理、客房类型管理、客房信息管理、客户信息管理。
酒店系统完全采用Web方式,由前台网站和后台管理两个部分组成。
前台作为与用户直接交互的可视化界面,方便客房在线预订以及在线留言等。
前台在考虑功能实现的同时,也考虑了操作的简洁和方便性,目的是让大多数客户能够轻松地享受网上预订给他们带来的便利。
2.2采用的关键技术
2.2.1PHP技术
PHP最初是1994年RasmusLerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。
后来又用C语言重新编写,包括可以访问数据库。
在1995年以PersonalHomePageTools(PHPTools)开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。
在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。
以后越来越多的网站使用了PHP,并且强烈要且增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。
第二版定名为PHP/FI(FormInterpreter)。
PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。
到了1996年底,有15000个网站使用PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。
而在1997年中,开始了第三版的开发计划,开发小组加入了ZeevSuraski及AndiGutmans,而第三版就定名为PHP3。
2000年,PHP4.0又问世了,其中增加了许多新的特性。
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:
HypertextPreprocessor)的缩写。
PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
它可以比CGI或者Perl更快速的执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。
PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
2.2.2JavaScript技术
Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。
Javascript是由Netscape公司开发的一种脚本语言(scriptinglanguage),或者称为描述语言。
在HTML基础上,使用Javascript可以开发交互式Web网页。
Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。
运行用Javascript编写的程序需要能支持Javascript语言的浏览器。
Netscape公司Navigator3.0以上版本的浏览器都能支持Javascript程序,微软公司InternetExplorer3.0以上版本的浏览器基本上支持Javascript。
微软公司还有自己开发的Javascript,称为JScript。
Javascript和Jscript基本上是相同的,只是在一些细节上有出入。
Javascript短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。
同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。
JavaScript使网页增加互动性。
JavaScript使有规律地重复的HTML文段简化,减少下载时间。
JavaScript能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI验证。
JavaScript的特点是无穷无尽的。
2.2.3MYSQL介绍
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。
大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL关系型数据库于1998年1月发行第一个版本。
它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。
MySQL开发组计划于2001年中期公布MySQL4.0版本。
在这个版本中将有以下新的特性被提供:
新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能。
在此之后,MySQL开发着希望提供安全的数据复制机制、在BeOS操作系统上的MySQL实现以及对延时关键字的定期刷新选项。
随着时间的推进,MySQL将对ANSI92/ANSI99标准完全兼容。
MYSQL特点:
1.使用核心线程的完全多线程。
这意味着它能很容易地利用多CPU(如果有)。
2.可运行在不同的平台上。
3.多种列类型:
1、2、3、4、和8字节长度的有符号/无符号整数(INT)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET和ENUM类型。
4.利用一个优化的一遍扫描多重联结(one-sweepmulti-join)非常快速地进行联结(join)。
5.在查询的SELECT和WHERE部分支持全部运算符和函数。
6.通过一个高度优化的类库实现SQL函数库并且像他们能达到的一样快速,通常在查询初始化后不应该有任何内存分配。
7.全面支持SQL的GROUPBY和ORDERBY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。
8.支持ANSISQL的LEFTOUTERJOIN和ODBC语法。
9.你可以在同一查询中混用来自不同数据库的表。
10.一个非常灵活且安全的权限和口令系统,并且它允许基于主机的认证。
口令是安全的,因为当与一个服务器连接时,所有的口令传送被加密。
第三章系统详细设计
3.1后台数据库设计
房间表主要有房间号、房间类型、房间状态等。
如表3.1所示:
表3.1room
列名
数据类型
长度
允许空
主键
Room_id
int
11
否
√
RoomNum
varchar
15
否
Style_id
varchar
11
否
State
tinyint
1
否
房间类型表主要有房间描述、房间类型、房间价格等。
如表3.2所示:
表3.2roomstyle
列名
数据类型
长度
允许空
主键
Style_id
int
11
否
√
RoomStyle
text
否
Mianji
text
11
否
Des
int
1
否
Thumb
varchar
5000
否
Price
decimal
(7,0)
否
预定表主要是预定人的信息和入住人的信息。
如表3.3所示:
表3.3book
列名
数据类型
长度
允许空
主键
Order_id
int
11
否
√
Style_id
int
11
否
OrderName
varchar
12
否
OrderPhone
char
11
否
PersonName
varchar
12
否
PersonCard
varchar
18
否
StartTime
date
否
LeaveTime
date
否
ArriveTime
time
否
OrderNum
int
30
否
Requires
text
否
入住表主要是入住人的详细信息。
如表3.4所示:
表3.4check_in
列名
数据类型
长度
允许空
主键
Come_id
int
11
否
√
StartTime
date
否
RoomNum
varchar
15
否
PersonName
varchar
12
否
PersonCard
varchar
18
否
PersonPhone
varchar
11
否
LeaveTime
date
否
FuFei
decimal
(7,0)
否
退房表主要是查询酒店以前入住的顾客的信息。
如表3.5所示:
表3.5check_out
列名
数据类型
长度
允许空
主键
Out_id
int
11
否
√
StartTime
date
否
RoomNum
varchar
15
否
PersonName
varchar
12
否
PersonCard
varchar
18
否
PersonPhone
varchar
11
否
LeaveTime
date
否
FuFei
decimal
(7,0)
否
留言表主要是顾客对酒店提出的意见,管理人员及时给顾客满意的回复。
如表3.6所示:
表3.6message
列名
数据类型
长度
允许空
主键
Message_id
int
11
否
√
Theme
text
是
Content
text
否
People
varchar
12
是
Company
varchar
20
是
Addr
varchar
50
是
Tel
varchar
12
是
Phone
varchar
18
否
Fax
varchar
12
是
Code
varchar
6
是
E_mail
varchar
20
是
Time
date
否
新闻表主要是为前台动态提供的。
如表3.7所示:
表3.7news
列名
数据类型
长度
允许空
主键
id
int
4
否
√
newstitle
varchar
20
否
newscontent
longtext
否
faburen
varchar
15
否
newstime
date
否
管理员表主要是管理员登录的,记载用户名和密码的信息。
如表3.8所示:
表3.8user
列名
数据类型
长度
允许空
主键
id
int
4
否
√
username
varchar
12
否
userpass
varchar
12
否
3.2处理流程设计
3.2.1网上预订流程
图3.1网上预定流程
3.2.2用户留言流程
图3.2用户留言流程
3.2.3管理员登录流程
取得用户名和密码
将userID存入session中
登录成功
图3.3管理员登录流程
3.2.4管理员处理预订信息流程
查询预订房间
预定表
计算费用
图3.4管理员处理预订信息流程
3.2.5管理员处理留言流程
图3.5管理员处理留言流程
第四章系统模块实现
4.1前台模块实现
4.1.1首页
当进入网站时,首先出现的是本网站的首页,首页包括本网站前台用户的所有功能菜单,界面美观,网页的中间是一个flash使得界面更美观,界面如图4.1所示。
图4.1网站首页
4.1.2提交订单信息
其中最为重要的就是前台的JavaScript验证部分,首先选择房间类型如图4.2所示:
图4.2房间类型展示
主要代码如下:
include("class/class_roomstyle.php");
include("class/class_room.php");
$roomstyle=newroomstyle;
$room=newroom;
$result=$roomstyle->roomstyle_sel_all();
$result_count=count($result);
$pagesize=10;
$pagecount=ceil($result_count/$pagesize);
$pageno=$_GET["no"];
if(!
isset($pageno))
{
$pageno=1;
}
$step=$pagesize*($pageno-1);
for($i=$step;$i<$result_count;$i++)
{
if($i>$pagesize-1+$step)
{
break;
}
$row=$result[$i];
$style_id=$row["Style_id"];
$roomstyle1=$row["RoomStyle"];
$mianji=$row["Mianji"];
$price=$row["Price"];
$a=$room->getstate($style_id);
然后输入:
入住日期,离店日期,房间数,预订人信息,入住人信息等…如图4.3所示:
图4.3输入预定信息
处理:
通过post方式提交到第二步
输出:
显示第二步的页面界面如图4.4所示:
图4.4客户订单显示
主要代码(主要是js的判断):
functioncheck(){
if(!
checkno("starttime","入住日期不能为空!
",1))returnfalse;
if(!
checkno("leavetime","离店日期不能为空!
",1))returnfalse;
if(!
checkno("ordername","您的姓名不能为空!
",1))returnfalse;
else{
if(!
checkno("ordername","姓名不能少于2个字符!
",4))returnfalse;
}
if(!
checkno("orderphone","您的电话不能为空!
",1))returnfalse;
else{
if(!
checkno("orderphone","手机号格式不正确!
",2))returnfalse;
}
if(!
checkno("personname","入住人姓名不能为空!
",1))returnfalse;
if(!
checkno("personname","姓名不能少于2个字符!
",4))returnfalse;
if(!
checkno("personcard","入住人身份证不能为空!
",1))returnfalse;
else{
if(!
checkno("personcard","身份证格式不正确!
",3))returnfalse;
}
returntrue;
}
functioncheckno(name,info,option){
//option:
1-检查空值2-检测手机号格式3-检测身份证号格式4-姓名不能少于2个字符
varobj=document.getElementById(name);
switch(option){
case1:
if(obj.value==""){
alert(info);
returnfalse;
}
break;
case2:
varreg=/^1[0-9]{10}$/;
if(!
reg.test(obj.value)){
alert(info);
returnfalse;
}
break;
case3:
varreg2=/^\d{15}|\d{17}(?
:
\d|x)$/;
if(!
reg2.test(obj.value)){
alert(info);
returnfalse;
}
break;
case4:
if(obj.value.length<2){
alert(info);
returnfalse;
}
break;
}
returntrue;
}
4.1.3访客留言
顾客进入网站留言界面时,可以对酒店不满意的地方提出意见,我们专门解决,并及时给顾客满意的回复。
如图4.5所示:
图4.5顾客留言界面
4.2后台模块实现
4