存档号:114082141 学号: 200804021043
石家庄铁路职业技术学院
毕业
基于PHP的酒店网站管理系统
系 部 信息
系
专业名称 计算机网络
指导教师 刘洋
学生姓名 杨卫茹
二○一○年 十二月
石家庄铁路职业技术学院计算机系
2011届毕业生毕业设计任务书
题目名称
基于PHP的酒店网站管理系统
课题来源
自拟
指导教师
刘洋
起止日期
2010年12月7日 至 2011年 1月 8日
设计
、主要技术参数与工作量(计算说明书、论文字数、图纸张数、外文翻译、计算机应用)
本系统主要为酒店管理设计和开发的,其目的在于实现在线预订,留言管理,以及网站前台设计,网站后台管理,酒店管理系统:
(1)在线预订。用户可以在本网站在线预订,输入预订人的详细信息和入住人的信息,入住时间以及预计退房时间,点击预订,可传入数据库预定表中。
(2)在线留言。客户能够在线留言,输入留言的人的信息,留言内容以及留言内容,点击提交,进入数据库留言表中,管理人员可根据留言情况向用户反馈的信息作出回应。
(3)网站后台管理。这部分内容主要实现用户管理(添加、删除、修改)、客房管理、酒店动态管理、留言管理
(4)酒店管理系统。酒店管理人员可以对客户预订、入住、退房等行为进行管理、查询。也可以对酒店的房间状态进行查询。
课题要求及目标
该系统制作完成后,即投入使用,因此要求系统的美观性、健壮性、安全性、可维护可管理性都要很好,以便使系统能长期进行工作。
使用的工具软件
PHP、网页开发工具
提交的设计
软件、毕业论文(至少3000字)
进 度 计 划
阶段日期
完成工作量
指导教师检查意见
11月29日-12月3日
(1周)
选题、教师讲解、需求分析
12月4日-12月10日
(1周)
完成概要设计,如数据库设计、框架设计、等
12月11日-12月24日
(2周)
完成详细设计,基本完成程序功能
12月25日-12月31日
(1周)
系统完善与改进,撰写毕业论文
网络与通信 教研室
2010年12月1日
摘 要
现代化的酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。本课题目标是设计并实现一个以php为语言酒店网站。结合实践,理解网页开发技术和数据库的基本知识,熟悉网站建设的过程,熟练掌握网络数据库编程方法。本系统用php语言来编写社本系统,数据库用MYSQL来连接系统。本论文主要涉及数据库与网络技术等,实现了网站前台的页面设计,在线预订,在线留言,网站后台的用户管理(添加删除,修改)、房间管理、房态查询等功能。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。
关键词: 酒店网站管理系统 PHP、MYSQL
目 录
第一章 酒店网站管理系统简介 1
1.1引言 1
1.2 功能简介 1
第二章 系统开发环境 3
2.1 PHP 简介 3
2.2 MYSQL数据库技术 3
2.2.1 MYSQL简介 3
2.2.2 MYSQL数据库的特性 4
第三章 系统详细设计 5
3.1 数据库设计 5
3.2主要功能说明 8
3.2.1网站在线预订 8
3.2.2网站在线留言 9
3.2.3空房查询 9
3.2.4在线预订管理 10
第四章 系统模块详细设计及实现 11
4.1 在线预订房间 11
4.2 在线留言 12
4.3后台空房查询 15
4.4后台预订查询 16
4.5 入住情况管理 18
4.6系统调试 22
结束语 23
参考文献 24
第一章 酒店网站管理系统简介
1.1引言
本站设计目标就是设计一个酒店网站,可以提交用户需要入住的表单信息,管理人员从后台可以读取这些信息来尽快的处理客户的需求,另有很多该酒店的资料内容,可以方便的把该酒店的房间,资料,信息等内容展现给客户,还有客户端的留言板内容,可以更好的把客户需要该酒店改进或者需求的信息表达给该酒店的管理人员,使酒店的管理可以更简单化,人性化,管理人员还可以很方便的在后台回复留言的内容.
随着计算机技术的发展,网络技术对我们生活和工作显得越来越重要,特别是现在信息高度发达的今天,人们对最新信息的需求和发布迫切的需要及时性。而动态交互式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻的网上多用户发布,多栏目管理,实时的进行行为统计和记录的网上交互系统。
本系统用php技术编写,数据库用MYSQL来连接系统。本论文主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。
1.2 功能简介
酒店系统完全采用Web方式,主要分为网站前台以及网站后台管理。网站前台主要为酒店动态显示、在线预订房间、在线留言等功能;后台主要是用户管理、酒店动态管理、房间管理、空房查询、在线预订管理、客户入住退房管理等等。
前台在考虑功能实现的同时,也考虑了操作的简洁和方便性,目的是让大多数客户能够轻松地享受网上预订给他们带来的便利。
通过对网站进行合理规划,使设计出的网站界面美观,腾达大酒店的整体形象和实力,较好、操作简单、实用性强、便于浏览,从而很好地体现温岭地达到网站设计目标。
第二章 系统开发环境
本系统的开发环境是php的PHP5.0版本,运用的是三层架构的团队开发模式。
2.1 PHP 简介
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。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 MYSQL数据库技术
2.2.1 MYSQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
2.2.2 MYSQL数据库的特性
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统
3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
第三章 系统详细设计
3.1 数据库设计
根据前台和后台的需要,数据库表设计如下:
入住信息表:包括入住登记编号、入住房间号、入住日期、住客姓名、性别、年龄、证件、证件号等等。
预定信息表:包括
预订编号、房间类型、预订人姓名、预订人电话号码、入住人姓名、入住人证件编号、入住日期、到达时间、预订数量、退房日期等。
退房信息表:主要包括退房编号、到达时间、房间号、入住人姓名、入住人证件编号、入住人电话号码、退房日期、费用额等。
房间信息表:包括房间号、状态、房间类型。
客房类型信息:包括客房类型、客房面积、客房价格、客房图片。
留言信息表:包括留言主题、内容、姓名、联系方式、留言时间等等
具体设计如下表:
表3.1设计表“room”
列名
数据类型
长度
允许空
Room_id
int
11
否
RoomNum
varchar
15
否
Style_id
varchar
11
否
State
tinyint
1
否
表3.2设计表“roomstyle”
列名
数据类型
长度
允许空
Style_id
int
11
否
RoomStyle
text
否
Mianji
text
11
否
Des
int
1
否
Thumb
varchar
5000
否
Price
decimal
(7,0)
否
表3.3设计表“book”
列名
数据类型
长度
允许空
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设计表“check_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设计表“check_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设计表“message”
列名
数据类型
长度
允许空
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设计表“news”
列名
数据类型
长度
允许空
id
int
4
否
newstitle
varchar
20
否
newscontent
longtext
否
faburen
varchar
15
否
newstime
date
否
表3.8设计表“user”
列名
数据类型
长度
允许空
id
int
4
否
username
varchar
12
否
userpass
varchar
12
否
3.2主要功能说明
酒店系统完全采用Web方式,主要分为网站前台以及网站后台管理。网站前台主要为酒店动态显示、在线预订房间、在线留言等功能;后台主要是用户管理、酒店动态管理、房间管理、空房查询、在线预订管理、客户入住退房管理等等。
前台在考虑功能实现的同时,也考虑了操作的简洁和方便性,目的是让大多数客户能够轻松地享受网上预订给他们带来的便利。
通过对网站进行合理规划,使设计出的网站界面美观,腾达大酒店的整体形象和实力,较好、操作简单、实用性强、便于浏览,从而很好地体现温岭地达到网站设计目标。
3.2.1网站在线预订
流程图:
管理员
图1.1在线预订流程图
在线预订功能的实现可以帮助客户在浏览本酒店网站时实现订房 :
客户根据要求将信息信息录入,后台管理可调出此信息,进行分房处理,用户来到酒店入住时,取消预订转为入住。
由于现代旅游业的发展,宾馆客房往往呈供不应求的趋势,基于此,房间预定是客房管理信息系统中不可缺少的一部分,住客可以通过房间的预定业务预先约定某时要使用某种条件的房间,以便于住客的出行和店房对客房合理、及时的安排调度。
3.2.2网站在线留言
流程图:
图1.2在线留言流程图
在线留言功能的实现可以是客户方便快捷的给本酒店提出意见,及客户对本酒店的看法,客户浏览网页时,可根据界面提示录入相应的信息,提交留言。后台管理人员查看留言及时给出客户答复。这样利于酒店的改革及整顿。
3.2.3空房查询
图1.3空房查询流程图
当用户入住客房时,管理人员通过空房查询为客户分配房间,管理人员可根据页面提示输入房间类型,点击查询,可出现相应的空房间的房间号。
3.2.4在线预订管理
退房管理
入住登记
查询预订信
预定客户入住
核对信息
查询预订房间号
结算
收银、退房信息存储
图1.4在线预订管理流程图
客户预订房间提交以后,后台管理人员可查看预订表,根据预订要求随机分配房间号,客户入住时,根据预订信息转入入住管理,最后客户退房结账。
第四章 系统模块详细设计及实现
4.1 在线预订房间
1.界面
图3.1在线预订房间
图3.2在线预订房间
2,实现以上功能的主要代码:
4.2 在线留言
1.界面:
图3.3在线留言
2.实现在线留言功能的代码:
此代码主要是将from里客户添加的内容加入数据库中的留言表。
alert('验证码错误!');");
echo("");
}
include ('class/class_liuyan.php');
$theme=trim($_POST["theme"]);
$message=trim($_POST["message1"]);
$man=trim($_POST["man"]);
$company=trim($_POST["company"]);
$address=trim($_POST["address"]);
$phone=trim($_POST["phone"]);
$mobile=trim($_POST["mobile"]);
$fax=trim($_POST["fax"]);
$youbian=trim($_POST["youbian"]);
$email=trim($_POST["email"]);
$time1=date("y-m-j");
$liuyan=new liuyan;
$liuyan->__set(Theme,$theme);
$liuyan->__set(Content,$message);
$liuyan->__set(People,$man);
$liuyan->__set(Company,$company);
$liuyan->__set(Addr,$address);
$liuyan->__set(phone,$phone);
$liuyan->__set(Tel,$mobile);
$liuyan->__set(fax,$fax);
$liuyan->__set(code,$youbian);
$liuyan->__set(E_mail,$email);
$liuyan->__set(Time1,$time1);
$liuyan->liuyan_add();
echo("");
echo("");
?>
4.3后台空房查询
1、界面
图3.4后台空房查询
2.实现空房查询功能的主要代码:
空房查询是根据房间类型进行来查询,以下代码用来从房间类型表中拿取房间类型的字段。
此段代码主要是根据房间类型的id字段从房间表了取出空房间的房间号。
RoomStyle=$select1;
$row=$roomstyle->roomstyle_sel_bystyle();
$style_id=$row[0]["Style_id"];
$room=new room;
$room->Style_id=$style_id;
$result1=$room->room_selbystate();
$result_count1=count($result1);
?>
4.4后台预订查询
1.界面:
图3.5后台预订查询
2.实现预订查询的主要代码:
此段代码主要是根据预订人预订时的身份证号查询,从预订表里取出所需要的字段值。管理员可对留言信息进行删除等操作。
PersonCard=$personcard;
$row=$book->order_sel_byshenfen();
$styleid=$row[0]["Style_id"];
$ordername=$row[0]["OrderName"];
$orderphone=$row[0]["OrderPhone"];
$personname=$row[0]["PersonName"];
$personcard=$row[0]["PersonCard"];
$starttime=$row[0]["StartTime"];
$arrivetime=$row[0]["ArriveTime"];
$leavetime=$row[0]["LeaveTime"];
$ordernum=$row[0]["OrderNum"];
$requires=$row[0]["Requires"];
$roomstyle=new roomstyle;
$roomstyle->Style_id=$styleid;
$rows=$roomstyle->roomstyle_sel_byid();
$roomstyle1=$rows[0]["RoomStyle"];
$styleid1=$rows[0]["Style_id"];
?>
4.5 入住情况管理
1.界面
图3.5入住情况管理
2.实现入住情况管理的主要的代码
入住情况的添加:此段代码主要是将from中的入住信息添加到入住表中相应的字段中。
__set(FuFei,$fufei);
$ruzhu->__set(PersonName,$personname);
$ruzhu->__set(PersonCard,$personcard);
$ruzhu->__set(StartTime,$starttime);
$ruzhu->__set(LeaveTime,$leavetime);
$ruzhu->__set(RoomNum,$roomnum);
$ruzhu->__set(PersonPhone,$personphone);
$ruzhu->ruzhu_add();
echo("");
echo("");
?>
入住信息的查看:此段代码主要是对已经入住的入住信息的分页的查看,从入住表中取出所需要的字段值。
ruzhu_sel_byall();
$result_count=count($result);
$pagesize=1;
$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];
$personname=$row["PersonName"];
$personcard=$row["PersonCard"];
$personphone=$row["PersonPhone"];
$starttime=$row["StartTime"];
$leavetime=$row["LeaveTime"];
$roomnum=$row["RoomNum"];
$price=$row["FuFei"];
?>
for($i=1;$i<=$pagecount;$i++)
{
if($i==$pageno)
{echo $i;}
else
{
echo "
$i ";
}
}
?>
4.6系统调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。
结束语
经过一个月和同伴的奋战,对整个酒店的网站及管理系统分析、设计和编码,终于开发出了一个完整的网站。通过酒店管理系统网站的构建,使我能够更加熟练地运用php语言以及MYSQL管理和查询数据,我感到自己对所学知识的生疏,不能把学习的知识系统的熟练的使用。本次网站设计不仅让我们熟悉了所学的知识,还让我们学会将知识的应用于实践。让我得出对知识的学习不仅要横向深入,还要纵向了解。这次作业要求我们的团队要有合作精神,对自己所负责的部分尽职尽责,而且让我们三年的感情又进一步。对每一部分的设计,做到多看多想多分析,以求无疏漏;还要求多查专业书籍,获取信息,不懂及时询问老师,及时查漏补缺。通过这次的大作业,让我们懂得作为一个工程人员,必须要具有一丝不苟的精神和精益求精的工作作风。
对于母校我要衷心的表示感谢,还有那些不辞辛苦教我们的老师,在这三年里,学校不仅教给了我们知识,还灌输给我们做人的道理,让我们看清社会的现状,让我们及时适应社会的竞争。还有老师们的淳淳教诲,灌输给能陪伴我们一生的知识,让我们终生受益。
参考文献
[1]王军.《MYSQL4从入门到精通》.电子工业出版社
[2]袁勤勇.《Apache Server2.0 技术参考大全》.清华大学出版社
[3]王石,杨英娜.《精通PHP+MySQL应用开发》.人民邮电出版社
[4]贺民.《PHP技术内幕》.中国水利水电出版社
[5]李香敏.《PHP MySQL Apache 超强组合》.西安电子科技大学出版社
石家庄铁路职业技术学院
毕 业 设 计 (论文)评 定 表
姓名
杨卫茹
学号
200804021043
存档号
114082141
系别
信息工程系
专业
计算机网络
班 级
40821
毕业论文(设计)题目
基于PHP的酒店网站管理系统
指导教师评语:
签名: 年 月 日
1.毕业设计评定成绩:
指导教师签名:
年 月 日
2.答辩成绩:
答辩小组组长签名:
年 月 日
3.毕业设计综合成绩:
指导教师签名:
年 月 日
备注:
1.“毕业设计评定成绩”一项由指导教师根据毕业设计过程的表现及毕业设计说明书评定,满分100分。
2.“答辩成绩”一项由答辩小组根据答辩情况评定,满分100分。
3.“毕业设计综合成绩”=“毕业设计评定成绩”╳70%+“答辩成绩”╳30%。