PHP5A级景区网站 毕业设计-附源码63589

摘  要

本研究旨在设计和实现一个基于PHP的5A级景区网站,为用户提供方便的景区信息浏览、预定和购票平台。通过该网站,用户可以了解各个景区的详细信息,包括景点介绍、门票价格、开放时间等,并可以在线预定酒店、查看实时人流量等。在系统设计方面,采用PHP作为后端开发语言,结合HTML、CSS和JavaScript等前端技术,实现网站的用户界面和交互功能。数据库采用MySQL进行数据存储和管理,确保数据的安全性和可靠性。

经过实际测试和用户反馈,该5A级景区网站展现出良好的性能和用户体验。用户可以通过网站方便地浏览和了解各个景区的信息,并可以根据自己的需求进行预定和购票。网站管理员可以进行景区信息的维护和更新,并管理用户评论。

本研究的成果对于促进旅游行业的数字化转型具有重要意义。通过基于PHP的5A级景区网站的设计与实现,为用户提供一个便捷、可靠的旅游信息平台,提升用户的旅行体验和参与度。同时,该研究也为类似应用的开发提供了有益的参考和借鉴。

关键词:5A级景区网站;PHP;MySQL

Abstract

The aim of this study is to design and implement a PHP based 5A level scenic spot website, providing users with a convenient platform for browsing, booking, and purchasing scenic spot information. Through this website, users can learn detailed information about various scenic spots, including attraction introductions, ticket prices, opening hours, etc. They can also book hotels online and view real-time pedestrian traffic. In terms of system design, PHP is used as the backend development language, combined with front-end technologies such as HTML, CSS, and JavaScript, to achieve the user interface and interactive functions of the website. The database uses MySQL for data storage and management, ensuring the security and reliability of the data.

After actual testing and user feedback, the 5A level scenic spot website has demonstrated good performance and user experience. Users can easily browse and understand information about various scenic spots through the website, and can make reservations and purchase tickets according to their own needs. Website administrators can maintain and update scenic area information, and manage user comments.

The results of this study are of great significance for promoting the digital transformation of the tourism industry. By designing and implementing a 5A level scenic spot website based on PHP, we provide users with a convenient and reliable tourism information platform, enhancing their travel experience and engagement. Meanwhile, this study also provides useful references and insights for the development of similar applications.

Key words :5A level scenic spot website; PHP; MySQL

  

  

  

1 绪论

1.1 开发背景

1.2研究意义

1.3主要研究内容

1.4论文结构与章节安排

2 相关技术介绍 2

2.1 B/S体系工作原理 2

2.2 jQuery框架 2

2.3 MySQL数据库管理系统 2

2.4 Thinkphp框架介绍..............................................2

3 系统需求分析

3.1可行性分析

3.1.1 技术可行性分析

3.1.2 操作可行性分析

3.1.3 经济可行性分析

3.2功能需求分析

3.3用例分析

4系统总体设计

4.1系统功能模块设计

4.1.1 前台页面设计

4.1.2 用户模块设计

4.1.3 评论管理模块设计

4.1.4酒店信息管理模块设计

4.2数据库设计

4.2.1数据库概要设计

4.2.2数据库逻辑设计

5系统详细实现

5.1 系统总体的逻辑结构图

5.1.1系统MVC结构图

5.1.2系统的三层架构图

5.2系统功能实现

5.2.1系统主页功能实现

5.2.2用户注册登录功能实现

5.2.3评论功能实现

5.2.4旅游资讯功能实现

5.2.5景点信息功能实现......................................

5.2.6用户管理功能实现

5.2.7酒店信息管理功能实现

5.2.8酒店预定管理功能实现

5.2.9旅行日记管理功能实现

6系统测试

6.1 系统测试目的

6.2 系统可用性测试

6.3 系统典型测试用例

6.4 测试总结

总结

参考文献

  

1 绪论

1.1 开发背景

随着旅游业的快速发展和人们对旅行的热爱,越来越多的人选择到景区旅游。然而,传统的景区信息获取方式存在一些问题,比如信息不全面、获取不便等。因此,设计和开发一个功能齐全的景区网站成为了当下的需求。

景区网站的开发旨在提供一个便捷、可靠的平台,让用户能够方便地获取各个景区的详细信息。通过该网站,用户可以浏览景点介绍、门票价格、开放时间等重要信息,以帮助他们做出更好的旅行决策。同时,网站还可以提供预订门票、查看实时人流量等功能,使用户的旅行更加便利和顺畅。

这样的景区网站对于促进旅游行业的数字化转型具有重要意义。它为景区提供了一个线上推广的平台,增加了景区的曝光度和知名度。同时,通过收集用户反馈和评论,景区管理者也可以及时调整和改进服务质量,提升用户满意度。

基于以上背景,景区网站的开发是顺应时代潮流和满足用户需求的必然选择。通过设计和实现一个优秀的景区网站,可以提升旅游行业的服务水平和用户体验,推动旅游产业的发展,并为相关研究和实践提供有益的借鉴。

1.2研究意义

随着旅游业的蓬勃发展和人们对旅行的热情,景区网站的研究具有重要的意义。首先,景区网站为用户提供了一个便捷、可靠的平台,让他们能够轻松获取和了解各个景区的详细信息。传统的旅游信息获取方式存在局限性,用户需要花费大量时间和精力来搜索和比较不同景区的相关信息。而景区网站将各个景区的介绍、门票价格、开放时间等整合在一起,使用户能够通过简单的浏览和搜索即可获取全面的旅游信息。其次,景区网站提高了旅游行业的服务质量和效率。通过在线预订门票、查看实时人流量等功能,用户可以方便地规划行程和购买门票,减少了排队等待的时间和不便。此外,用户还可以通过网站的留言和评论功能分享自己的体验和建议,促进用户之间的交流和互动。这有助于改善景区的服务质量和用户满意度,推动旅游行业的发展。同时,景区网站的研究也对景区的宣传和推广具有积极影响。通过优秀的网站设计和推广策略,景区能够吸引更多的潜在游客关注和参观,提高其在旅游市场中的竞争力。通过网站收集用户反馈和评价,景区管理者可以及时调整和改进服务,增强用户体验和满意度,树立良好的品牌形象和口碑。

景区网站的研究对于推动旅游行业的数字化转型、提升用户体验和促进景区发展具有重要意义。通过提供全面的旅游信息、便捷的预订功能和互动交流平台,景区网站将为用户带来更好的旅行体验,提高旅游行业的效率和竞争力,并推动旅游产业的可持续发展。

1.3主要研究内容

本文针对5A级景区网站从开发背景、系统设计、开发实现和软件测试等方面进行了详细介绍。系统的主要功能包括系统用户、景点信息、标签信息、购票信息、投诉信息、酒店信息、酒店预定、旅行日记等等,并充分考虑系统将来移动互联网相关的应用。系统采用主流B/S结构模式,使用PHP开发框架技术和Myql数据库技术进行开发实现。从总体设计到各个模块的功能设计做了详细介绍,展示了部分界面和代码的实现内容,同时介绍了系统的测试内容和测试结果。

1.4论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:引言。第一章主要介绍了课题研究的意义,开发背景分析目前相关研究意义以及技术和本文的研究内容与主要工作。

第二章:相关结束介绍。第二章主要介绍了课题开发技术和框架

第三章:系统需求分析。第三章主要从系统的可行性、功能等方面进行需求分析。

第四章:系统总体设计。第四章主要对系统功能模块、数据库进行功能设计。

第五章:系统详细设计。第五章主要介绍了系统各个用户的功能、系统界面的实现。

第六章:系统测试。第六章主要对系统的部分界面进行测试并对主要功能进行测试

2 相关技术介绍

2.1 B/S体系工作原理

B/S架构采取浏览器请求,服务器响应的工作模式。

用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;

而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;

Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。

在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。

2.2 jQuery框架

在Web项目中,异步请求是必须要使用的技术,最早是通过Javascript进行异步请求,这样的操作非常的繁琐,随着jquery的出现,给代码的书写提供了很多的方便,ajax就可以操作相应的代码,本质上说,jQuery是js的封装的库,js在获取DOM元素的时候需要书写的代码量大,而且随着如今前台项目越来越庞大,js完全不能满足当前的需求,通过jquery则可以非常简单的获取相应的DOM元素。正是如此,jquery在前台应用十分广阔,成为必备的前台技术之一。

2.3 MySQL数据库管理系统

数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的Mysql并不是甲骨文公司的,后来才被他收购的。Mysql非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是mysql同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用mysql进行数据库管理。Mysql的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以mysql在使用上还是更多的使用在中小项目中。

2.4 Thinkphp框架介绍

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。 [1] 

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySqlPgSQLSqlite多种数据库以及PDO扩展,ThinkThinkphp框架介绍本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。

3 系统需求分析

3.1可行性分析

通过以下的系统总体需求分析,进而分析是否拥有达成需求的技术、资金和开发人员等条件。那么就从以下几点进行简单的说明:

3.1.1 技术可行性分析

5A级景区网站通过分析以上的系统需求,首先需要使用数据库存储各种数据,包括酒店信息数据、景点信息数据、购票信息数据、投诉信息数据等。其次,后端数据要调到页面上来,所以需要使用到前端技术,包括html,css 和Javascript三大技术。当前端发出请求的时候,还需要中间件的支持等。这些技术在学校基本都学习过了,而且在使用上如果发生遗忘都可以查询到相关知识进行补充。所以总的来说,技术可行性是没有问题的。

3.1.2 操作可行性分析

总体来严,该系统的操作设计和逻辑设计还是比较简单的。因为总体的设计目标只是包括数据的读取等基本内容。而且,就目前使用的客户一般都是用户和管理人员,都是有较高文化的一群人和学习能力较强的人。但是还是要把程序的操作设计得尽量简单,比如景点信息等功能,比如用户的登录和登出功能等,都需要尽量的简单,这样让系统用户更容易上手。针对管理员的操作,这边需要指出,是需要一定的理解的,比如酒店信息管理,酒店预定信息管理的设定,比如各类信息的添加和修改等,还是需要一定的计算机基本认识,如有需要,可以对其进行简单的介绍或者培训。

3.1.3 经济可行性分析

整体来说,项目的开发使用的硬件和软件还是不多的,硬件就是一台电脑,软件需求比较多,因为现在都有很多开源软件可是使用,所以投入也是不高的,项目使用的开源软件还是比较多的,比如mysql,tomcat等,图标字体阿里巴巴的图标字体库,版本控制使用的git等。总体的投入主要就是开发的时间投入,所以总的来说,经济可行性也是没有问题的。

3.2功能需求分析

5A级景区网站的主要目的分为两个。

(1)5A级景区网站提供了一个用户和用户,用户与管理员进行互动交流的系统,用户可以通过注册获取一个帐户,查询景点信息,进行预约信息等。在这个系统中,用户之间可以进行随时查询、预约等。

(2)该系统需要很好的功能扩充性和可维护性。由于该系统是涉及的用户比较多,对管理员来说同样也是一个信息管理系统,包括用户信息,资讯信息,酒店信息、景点信息、标签信息、购票信息等。而且,随着用户数量的增加,必然对程序的更新迭代要求更高,所有在开发的时候就需要注意程序的可维护性和可拓展性。

3.3用例分析

5A级景区网站中的管理员角色主要负责了如下功能操作。

(1)公告/轮播图管理功能需求:管理员可以对轮播图/公告进行添加,修改,删除和查询等。

(2)用户管理功能需求:用户管理部分包括了管理员和注册用户两部分,管理员可以对这两部分进行添加,修改,删除以及查询等。

(3)酒店信息管理功能需求:管理员可以对其进行添加,修改,删除,查询等。

(4)景点信息管理功能需求:管理员可以进行添加,修改,删除,查询等。

(5)标签信息管理功能需求:管理员可以进行添加,修改,删除,查询等操作。

(6)购票信息管理功能需求:管理员可以进行修改,删除,查询等操作。

(7)投诉信息管理功能需求:管理员可以进行修改,删除,查询等操作。

(8)资源管理功能需求:管理员可以对5A级景区网站前台展示的旅游资讯以及资讯所属的分类进行管控。

图3-1管理员角色用例图

5A级景区网站中的前台注册用户角色主负责了如下功能操作。

(1)用户查看系统信息功能需求:用户可以通过系统首页查看5A级景区网站,包括首页,公告、旅游资讯、酒店信息、景点信息、旅行日记,同时可以输入关键词进行酒店查询等模块,用户可以对酒店进行预定、点赞、收藏,评论等操作。

(2)用户登录与注册功能需求:用户可以通过注册获取帐户。

(3)酒店信息功能需求:用户登录系统以后,是可以进行对酒店信息查看,进行预定、收藏、评论等操作。

(4)公告功能需求:用户登录系统以后,是可以进行对公告信息进行浏览。

(5)我的账户功能需求:用户登录系统以后,是可以进行我的账户进行管理的,包括个人资料,修改密码两部分。

(6)旅游资讯:用户可以查看旅游资讯信息,在查询到自己想要了解的旅游资讯的时候,可以进入查看详细的介绍进行评论、点赞、收藏操作。

(7)景点信息功能需求:用户登录系统以后,是可以进行对景点信息查看,进行购票、收藏、评论等操作。

图3-2 前台注册用户角色用例图

4系统总体设计

4.1系统功能模块设计

5A级景区网站的整体架构确定以后,再来看5A级景区网站的主要功能模块图。整体的功能模块包括前台和后台,前台就是主要的页面,包括首页,公告、酒店信息、旅游资讯、景点信息等页面。后台的模块主要实现了管理员用户,有系统用户、景点信息、标签信息、购票信息、投诉信息、酒店信息、酒店预定、旅行日记等。确定了模块以后,再设计各个模块的功能特点,方便抽取出各个模块的公共部分来。

图4-15A级景区网站功能模块图

4.1.1 前台页面设计

本5A级景区网站的前台页面所有的页面设计主要是上中下的结构,这样的好处是让所有的页面更加的整洁。主题的页面颜色采用淡色为主,为突出页面的美观。主页面上分为导航栏,导航栏的每个导航项目设计为一张PHP页面,除此之外,还有就是用户中心页面,后台管理的页面了。后台管理页面已简单的上下结构为主。

4.1.2 用户模块设计

(1)用户模块结构图

本系统的用户包括管理员和注册用户模块。两种用户模块的功能基本是相同的,注册用户模块比管理员多了一个注册功能,所以以用户模块的结构图为例进行分析,如下图:

图4-2用户模块结构图

(2)各个结构的具体业务逻辑

a.查询用户信息:设计最基础的查询功能,主要就是根据用户id查询用户信息。该功能主要体现在管理员用户信息查询和用户自己查询信息的时候。

b.修改用户信息:用户可以根据情况,对自己的基本信息进行修改,包括名字修改、密码修改、头像修改等操作。

c.增加用户:用户可以通过注册来获得账号

d.删除用户信息:管理员没有权利进行删除信息的删除,最多把用户加入到黑名单中,禁止用户进行登录操作。

4.1.3 评论管理模块设计

(1)评论模块结构图

5A级景区网站是一个交流性质的公开系统,用户和用户之间可以对系统上的内容,比如酒店信息等进行点评,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:

图4-3评论模块结构图

(2)各个结构的具体业务逻辑

a.查询评论:设计最基础的查询功能,主要就是根据用户id查询该用户下的所有评论信息。

b.发布评论:注册用户用户可以根据情况,发布自己评论信息到系统上。

c.删除评论:管理员没有权限修改用户的评论信息,但是可以删除用户的整条评论。

4.1.4酒店信息管理模块设计

(1)酒店信息模块结构图

5A级景区网站是中需要存储不少用户酒店信息,注册用户可以查看酒店信息,管理员可以添加,修改,删除酒店信息等,具体的结构图如下:

图4-4酒店信息模块结构图

(2)各个结构的具体业务逻辑

a.添加酒店信息:管理员可以对酒店信息进行添加。

b.修改酒店信息:管理员可以对酒店信息进行修改。

c.删除酒店信息:管理员可以对酒店信息进行删除。

3.2数据库设计

3.2.1数据库概要设计

5A级景区网站根据上面的E-R实体图,就再找到实体与实体之间的关系来,制作总的E-R图,实体之间的关系一共有4种,也就是一对一,多对一,一对多和多对多,总的E-R图是设计数据库表格的依据,如下图是系统的总E-R图。

图4-5系统总体E-R图

4.2.2数据库逻辑设计

通过上一小节中5A级景区网站中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表attraction_information (景点信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

attraction_information_id

int

10

0

N

Y

景点信息ID

2

attraction_name

varchar

64

0

Y

N

景点名称

3

types_of_attractions

varchar

64

0

Y

N

景点类型

4

attraction_tickets

varchar

64

0

Y

N

景点门票

5

attraction_address

varchar

64

0

Y

N

景点地址

6

recommendation_index

varchar

64

0

Y

N

推荐指数

7

scenic_spot_pictures

varchar

255

0

Y

N

景点图片

8

duration_of_play

varchar

64

0

Y

N

游玩时长

9

opening_hours

varchar

64

0

Y

N

开放时间

10

tourism_products

text

65535

0

Y

N

旅游产品

11

scenic_facilities

text

65535

0

Y

N

景点设施

12

introduction_to_scenic_spots

text

65535

0

Y

N

景点简介

13

attraction_details

longtext

2147483647

0

Y

N

景点详情

14

hits

int

10

0

N

N

0

点击数

15

praise_len

int

10

0

N

N

0

点赞数

16

recommend

int

10

0

N

N

0

智能推荐

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表complaint_information (投诉信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

complaint_information_id

int

10

0

N

Y

投诉信息ID

2

attraction_name

varchar

64

0

Y

N

景点名称

3

types_of_attractions

varchar

64

0

Y

N

景点类型

4

attraction_address

varchar

64

0

Y

N

景点地址

5

attraction_tickets

varchar

64

0

Y

N

景点门票

6

complaint_users

int

10

0

Y

N

0

投诉用户

7

user_name

varchar

64

0

Y

N

用户姓名

8

complaint_title

varchar

64

0

Y

N

投诉标题

9

complaint_content

text

65535

0

Y

N

投诉内容

10

complaint_certificate

varchar

255

0

Y

N

投诉凭证

11

handling_replies

text

65535

0

Y

N

处理回复

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表hotel_information (酒店信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hotel_information_id

int

10

0

N

Y

酒店信息ID

2

hotel_name

varchar

64

0

Y

N

酒店名称

3

hotel_address

varchar

64

0

Y

N

酒店地址

4

hotel_room_number

varchar

64

0

Y

N

酒店房号

5

room_type

varchar

64

0

Y

N

房间类型

6

hotel_cover

varchar

255

0

Y

N

酒店封面

7

room_price

varchar

64

0

Y

N

房间价格

8

is_there_a_window

varchar

64

0

Y

N

是否有窗

9

number_of_residents_available

varchar

64

0

Y

N

可住人数

10

room_facilities

text

65535

0

Y

N

房间设施

11

room_introduction

text

65535

0

Y

N

房间介绍

12

hotel_details

longtext

2147483647

0

Y

N

酒店详情

13

hits

int

10

0

N

N

0

点击数

14

praise_len

int

10

0

N

N

0

点赞数

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hotel_reservations (酒店预定)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hotel_reservations_id

int

10

0

N

Y

酒店预定ID

2

hotel_name

varchar

64

0

Y

N

酒店名称

3

hotel_address

varchar

64

0

Y

N

酒店地址

4

hotel_room_number

varchar

64

0

Y

N

酒店房号

5

room_type

varchar

64

0

Y

N

房间类型

6

room_price

varchar

64

0

Y

N

房间价格

7

booking_users

int

10

0

Y

N

0

预定用户

8

user_name

varchar

64

0

Y

N

用户姓名

9

users_mobile_phone

varchar

64

0

Y

N

用户手机

10

expected_date

date

10

0

Y

N

预定日期

11

booking_instructions

text

65535

0

Y

N

预定说明

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表itinerary (旅行日记)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

itinerary_id

int

10

0

N

Y

旅行日记ID

2

publish_users

int

10

0

Y

N

0

发布用户

3

name_of_scenic_spot

varchar

64

0

Y

N

景点名称

4

travel_objectives

varchar

64

0

Y

N

旅行目标

5

travel_season

varchar

64

0

Y

N

旅行季节

6

travel_days

varchar

64

0

Y

N

旅行天数

7

travel_pictures

varchar

255

0

Y

N

旅行图片

8

transportation

varchar

64

0

Y

N

交通工具

9

travel_expenses

varchar

64

0

Y

N

旅行费用

10

recommended_cuisine

text

65535

0

Y

N

推荐美食

11

tourist_routes

text

65535

0

Y

N

旅游路线

12

hits

int

10

0

N

N

0

点击数

13

praise_len

int

10

0

N

N

0

点赞数

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表label_information (标签信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

label_information_id

int

10

0

N

Y

标签信息ID

2

label_name

varchar

64

0

Y

N

标签名称

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表registered_users (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_users_id

int

10

0

N

Y

注册用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

user_tags

varchar

64

0

Y

N

用户标签

5

users_mobile_phone

varchar

16

0

Y

N

用户手机

6

id_number

varchar

255

0

Y

N

身份证号

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表ticket_purchase_information (购票信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ticket_purchase_information_id

int

10

0

N

Y

购票信息ID

2

attraction_name

varchar

64

0

Y

N

景点名称

3

types_of_attractions

varchar

64

0

Y

N

景点类型

4

attraction_tickets

varchar

64

0

Y

N

景点门票

5

attraction_address

varchar

64

0

Y

N

景点地址

6

opening_hours

varchar

64

0

Y

N

开放时间

7

ticketing_users

int

10

0

Y

N

0

购票用户

8

user_name

varchar

64

0

Y

N

用户姓名

9

number_of_tickets_purchased

varchar

64

0

Y

N

购票数量

10

total_ticket_price

varchar

64

0

Y

N

门票总价

11

appointment_time

datetime

19

0

Y

N

预约时间

12

remarks

text

65535

0

Y

N

备注信息

13

pay_state

varchar

16

0

N

N

未支付

支付状态

14

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

5系统详细实现

5.1 系统总体的逻辑结构图

5.1.1系统MVC结构图

首先从项目整体的进行逻辑设计,采用的是目前流行的MVC模式进行开发。Model层是系统的核心层,里面含有项目的核心逻辑代码和数据库,View层是Model层的显示实例,Controller的主要的功能就是处理用户与数据交互的。值得注意的是,MVC模式的特点是为了更好的对前台和后台进行解耦的操作,控制器就是充当解耦的中间层,他可以分发前台的请求,然后通过调用模型层来处理数据。本系统使用的控制器是springMVC,springMVC的dispatchServlet是对servlert的封装。

图5-15A级景区网站MVC结构图

5.1.2系统的三层架构图

5A级景区网站使用的Thinkphp框架介绍搭建后台系统,把所有的对象都交予spring的ioc容器进行管理,这样的好处就是能够更好的让系统掌握对象的生命周期还有方便进行依赖注入,减少代码的书写量和对象之间的耦合。具体的三层包括,控制层、业务逻辑层和数据持久化层,也就是controller, service和dao层。Dao层的实现类通过mybatis映射文件进行实例化操作。三层架构的好处就是能够更好的对系统操作进行解耦,方便维护与分工。

图5-2 5A级景区网站三大操作类结构图

4.2系统功能实现

4.2.1系统主页功能实现

用户进入首页之后会显示如下的一个窗口。如下图:

图4.35A级景区网站主界面

由于该项目只是用来测试,用户登录首页展示的图片等数据有的是从项目本地拿到的,有的则是从数据库中获取的。页面中的搜索部分,页头部分等都是属于公共样式,可以进行公告样式的抽取,然后再引入到PHP页面中。

4.2.2用户注册登录功能实现

该5A级景区网站用户是需要先注册的,没有登录的情况下,用户进行任何的操作,都会跳到登录页面,提示注册。具体的流程图和实现界面如下:

图5-45A级景区网站用户注册登入流程图

图5-55A级景区网站用户注册界面

注册关键代码如下所示。

 public function register()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');

            $request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $request['password'] = md5($request['password']);

                $result = $this->model->register($request, $this->table);

                $data = $result;

            }

        } else {

            $data['error'] = 30000;

            $data['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

public function register($request=[],$table_name = ''){

        $username = $request['username'];

        $bol = $this->where(['username'=>$username])->find();

        if (!$bol){

            $result = self::allowField(true)->save($request);

            if ($result) {

                return ['result' => 1];

            } else {

                return ['error' => ['code' => 3000, 'message' => '注册失败']];

            }

        }else{

            return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];

        }

    }

5.2.3评论功能实现

用户可以进行评论,以用户评论为例,界面如图:

图5-65A级景区网站用户评论界面

主要的实现代码是:注册用户评论主要是对景点信息进行评论。其中评论中保存了评论的宿主编号。

5.2.4旅游资讯功能实现

当访客点击5A级景区网站中导航栏上的“旅游资讯”后将会进入到该“旅游资讯”列表的界面,然后选择想要看的旅游资讯信息,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作,具体的实现界面如下图:

图5-7旅游资讯界面

5.2.5 景点信息功能实现

用户可以查看景点信息,在查询到自己想要了解的景点信息的时候,可以进入查看详细的介绍,点击“购票”这一按钮以后会跳转到购票信息填写的界面,根据提示填写好购票的信息,点击“提交”以后购票就完成了;点击“投诉”这一按钮以后会跳转到投诉信息填写的界面,根据提示填写好投诉的信息,点击“提交”以后投诉就完成了,在景点信息详情这个界面,同时支持用户对喜欢的景点信息进行收藏、点赞、评论的功能,具体的流程图和实现界面如下:

图5-8 5A级景区网站景点信息流程图

图5-95A级景区网站景点信息界面

5.2.6用户管理功能实现

管理员在用户管理模块,可以对用户信息进行管理,用户管理模块由管理员以及注册用户两部分组成组成,这里注册用户以为例,具体的实现界面如下图:

图5-10用户管理界面

用户管理关键代码如下:

 public function add()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');

            $request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

if($this->table == 'user'){

$request['password'] = md5($request['password']);

}

$res = $this->add_before($request, $this->table, $this->table_id);

if($res['code'] == 200){

$result = $this->model->add($request, $this->table, $this->table_id);

$this->add_after($this->table);

$data = $result;

}else{

$data['error'] = $res;

}

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

5.2.7酒店信息管理功能实现

管理员点击“酒店信息”按钮会显示自己添加的酒店信息,如果想要添加新的酒店信息,点击“添加”按钮根据提示输入酒店信息,点击“提交”后在酒店信息界面就可以显示了,如果信息有错可以对酒店信息进行更新维护,也可以直接删除某一酒店信息,还可以管理用户提交评论信息。具体的实现界面如下图:

图5-11酒店信息管理界面

酒店信息管理关键代码如下:

public function del()

    {

        $request = Request::param();

        $result = $this->model->del_data($request, $this->table, $this->table_id);

        $data = $result;

        return json_encode($data);

    }

5.2.8酒店预定管理功能实现

管理员在“酒店预定”这一界面能够查看所有酒店的预定信息,可以进行查询、删除操作,具体的实现界面如下图:

图5-12酒店预定管理界面

酒店预定管理关键代码如下:

 public function set()

    {

        if (Request::isPost()) {

            $get = Request::get();

            $where = [];

            foreach($get as $k => $g){

             if($k != 'page' && $k != 'size'){

             $where[$k] = $g;

             }

            }

            $request = Request::post();

if($this->table != 'user'){

$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

}

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $result = $this->model->set($request, $this->table, $this->table_id, $where);

                $data = $result;

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

5.2.9 旅行日记管理功能实现

管理员在“旅行日记管理”这一界面能够查看所有旅行的日记信息,可以进行增删改查操作,旅行日记管理界面如下图5-13所示。

图5-13旅行日记管理界面图

5系统测试

5.1 系统测试目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统可用性测试

系统的可用性测试是测试系统最基本的功能,比如鼠标点击是否可用,页面跳转是否正常等。下面是具体的测试结果。

表5-15A级景区网站可用性测试

测试项

测试人员评价

窗口移动、改变大小、关闭等操作是否正常

操作模块是否友好

模块和提示内容等文字描述是否正确

模块布局是否合理、协调

模块的状态是否正确(对选中项能否发生对应切换)

键盘、鼠标操作是否支持

所需的数据项是否正确显示

操作流程是否合理

是否提供帮助信息

5.3 系统典型测试用例

对系统的主要页面和功能点的测试用例如下:

(1) 用户登陆系统测试用例如表 5-2 所示。

表5-2用户登录系统测试用例

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

(2)酒店信息测试用例如表 5-3 所示

表5-3 酒店信息测试用例

用例名称

酒店信息

目的

测试酒店信息功能

前提

测试流程

打开酒店信息界面

预期结果

可以进行查看酒店信息详细

实际结果

实际结果与预期结果一致

(3)评论试用例如表 5-4所示

表5-4评论测试用例

用例名称

评论

目的

测试评论模块功能

前提

测试流程

用户在评论区进行点评操作。

预期结果

评论提交以后,可以查看到自己的评论信息

实际结果

实际结果与预期结果一致

(4)景点信息添加信息测试用例如表 5-5 所示

表5-5 景点信息添加测试用例

用例名称

景点信息添加

目的

测试景点信息添加功能

前提

测试流程

管理员点击景点信息添加,输入景点信息

预期结果

提交景点信息后可以查看景点信息

实际结果

实际结果与预期结果一致

5.4 测试总结

通过系统的调试,能够检测项目的稳定性,为项目正式运行、稳定运行提供了可预测性的维护备案。能够帮助用户熟悉整个项目,并对项目可能出现的错误有所了解。本文提供了部分调试用例及调试日志,可以帮助用户解决简单的错误问题,也加深了开发者对于此框架下的项目编写的了解度,为后期开发者顺利完成项目、发布项目提供了非常大的帮助。

总  结

在5A级景区网站开发之前,需要先对用户的具体需求进行分析。包括系统的可行性分析、功能需求分析以及其他需求等。在可行性分析过程中,对系统实现的技术性、经济性以及管理等方面进行了分析。总体上证明了系统实施的可行性。

本文总结了5A级景区网站实现背景与现状,然后阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。

参考文献

[1]刘畅,王陈. MySQL数据库课程的教学评价体系设计 [J]. 电子技术, 2024, 53 (01): 393-395.

[2]何晶. 基于PHP+MySQL的电子书阅读系统的设计与实现 [J]. 科技资讯, 2024, 22 (02): 20-22+30.

[3]张曰花,陈红娟,刘婷婷. 基于HTML5+PHP技术的化妆品网站设计与实现 [J]. 现代信息科技, 2023, 7 (24): 33-36+40.

[4]闫娇娇. 基于Think PHP+Vue商城管理系统的设计与实现 [J]. 电脑知识与技术, 2023, 19 (34): 59-62.

[5]赵朝进. 基于PHP技术的动态网页设计和实现 [J]. 电脑知识与技术, 2023, 19 (33): 21-23.

[6]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.

[7]Karthik G ,Debashish M ,Jagoda C , et al. Developing a MySQL Database for the Provenance of Black Tiger Prawns (Penaeus monodon). [J]. Foods (Basel, Switzerland), 2023, 12 (14):

[8]肖德志,陈寒露,马鑫涛. 基于用户视角的自然和文化类景区网站对比研究——以124家山东省3A级及以上景区为例 [J]. 对外经贸, 2023, (03): 58-62.

[9]Sunday O B ,Nduka O S . MySQL Database Server: Deploying Software Application to Enhance Visibility and Accountability [J]. Current Journal of Applied Science and Technology, 2023, 42 (4): 16-23.

[10]陶长江,李卓涵,刘懿睿等. 我国5A级景区网站无障碍化建设的评价及建议——基于WCAG 2.0测试的分析 [J]. 浙江树人大学学报, 2022, 22 (04): 26-35.

[11]王书琪. 京津冀5A级景区门户网站信息服务能力评价指标研究 [J]. 纳税, 2019, 13 (13): 280.

[12]吴开军,刁佩旋,张薇. 景区网站品牌建设研究——以第一批66家5A景区为例 [J]. 湖北工程学院学报, 2019, 38 (02): 78-84.

[13]胡宇娜,梅林,陈妍. 中国5A级旅游景区网站质量测度及空间特征研究 [J]. 地理科学, 2019, 36 (04): 548-554.

[14]李伟,李慧凤,杨洁. 基于智慧旅游视角的景区网站服务功能及其评价——以华北地区10家5A级旅游景区网站为例 [J]. 资源开发与市场, 2019, 31 (09): 1149-1152.

[15]闫艳芳. 旅游景区网站绩效评估体系及应用研究[D]. 华南理工大学, 2019.

  

大学的学习生活总是感觉短暂的,总感到知识还没有学够,但大学毕业就在我们面前,即毕业设计即将的结束,意味着我们的大学生涯即将结束。毕业设计是我们在大学所学知识的一次总结,更是对我们过去所学知识的提炼和升华,通过毕业设计,我们认识到大学学习过程中还有那些知识没有掌握,那些知识需要我们进入深入研究。这次毕业设计让我学到了很多新的知识,研究了一些新的以前自己不熟悉的领域,使我处理问题的能力得到了一定的提升,同时也为今后的继续深造或踏入社会大门提供了很好的锻炼机会。

我也曾经沮丧过,失落过,想放弃过,可是因为你们这不厌其烦的鼓励和支持才使得我坚持了下来,这里我要对我的老师和同学们说句“谢谢你们”。因为我们的知识是有限的,所以本文将不可避免的会出现一些错误和不足之处,还请老师指正。

点赞+收藏+关注 → 私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值