基于php的热带野生动物园景点预约订票系统

一、项目介绍

本系统是通过面向对象的PHP语言搭建系统框架,通过关系型数据库MySQL存储数据。使用B/S开发方式,用户只需要通过浏览器访问系统即可获取订票信息,并可以在线订票、景点管理、退票等业务,实现了信息的科学管理与查询统计。本文先通过对相关系统的调研,提出开发热带野生动物园景点预约订票系统的意义,然后使用当前主流的技术进行开发,满足热带野生动物园景点预约订票系统的技术要求,然后分析系统需要实现的功能并进行设计。梳理业务流程,并根据功能设计数据库,最后通过编码实现,介绍实现的关键算法逻辑。在测试阶段通过测试用例来确保系统可以正常运行,并达到前期要求的目的。系统的实施方便了在线购票,将信息化技术完美的应用在热带野生动物园景点预约订票系统中,使得订票业务变得简单高效。
关键词:野生动物园、预约订票、景点预约、MySQL.

二、开发环境

开发语言:PHP
框架:原生php/thinkphp5
服务器:Apache
数据库:mysql 5.7
数据库工具:Navicat 11
运行软件:小皮phpStudy
浏览器:谷歌浏览器
————————————————

三、功能介绍

管理员是系统的管理者,拥有系统的所有权限,通过系统设定的账号和密码登录后对系统进行管理,包括密码修改、用户管理。新闻公告的管理、景点管理、订单管理。其中管理员管理的用例图如3.1所示。
管理员用户用例图如3.1所示:
在这里插入图片描述

图3. 1 管理员用例图
管理员登录中,通过用户的登录名和密码到热带野生动物园景点预约订票系统数据库的管理员表查询是否存在管理员,并反馈到界面,如果出现异常操作,将返回到登录页面,并提示出具体的错误记录。
管理员的主要功能是对用户管理、新闻公告的管理、景点管理订单和留言的管理。
其中在新闻公告管理中,先通过新闻公告的界面收集用户的录入的信息,然后保存信息到新闻公告表,在新闻公告列表中查询所有的记录,通过修改和删除操作来更新记录。新闻公告管理的异常操作将反馈到管理页面,对异常错误进行提示。
在景点分类管理中,先通过景点分类的界面收集用户的录入的信息,然后保存信息到景点分类表,在景点分类列表中查询所有的记录,通过修改和删除操作来更新记录。景点分类管理的异常操作将反馈到管理页面,对异常错误进行提示。
在景点管理中,先通过景点的界面收集用户的录入的信息,然后保存信息到景点表,在景点列表中查询所有的记录,通过修改和删除操作来更新记录。景点管理的异常操作将反馈到管理页面,对异常错误进行提示。

会员用户具有前端浏览信息、景点订单管理的权限,游客通过注册信息后变成会员用户,会员使用账号登录后。可以在线订票,并在个人中心中查看订票记录,决定是否退票等操作。此外,会员还具有景点信息、不同形式的查询权限、新闻公告浏览权限。疑难问题的留言咨询权限,会员用户登录后可以修改个人的密码信息。为了安全起见,系统建议定期对个人密码进行修改并保持密码的复杂度。其中会员用户的用例图如3.2所示。
在这里插入图片描述

会员的注册中,先根据页面的要求填写相关的个人信息,系统通过验证后,将信息插入到会员数据库表中,然后可以通过注册的账号密码进行登录。
在新闻公告查看中,先通过对应的新闻公告示出表提取到所有的记录列表,显示到界面,点击标题可以查看对应的详细记录。
在线留言前需要会员进行登录,登录后填写留言记录,保存到留言数据库表中,然后查询所有的留言记录显示在留言列表中。
景点预订是通过查询到的结果,选择需要预订的列车信息,填写需要订票的记录张数,然后将订单保存到表中,最后在个人订单记录中进行管理。

经过需求分析,本章将对热带野生动物园景点预约订票系统进行功能设计。功能上来说,本系统主要包括景点管理、用户管理、订票订单管理。从用户角度分为管理员和会员,从系统的框架来说,分为前台和后台。
其中热带野生动物园景点预约订票系统的功能模块如4.2所示。
在这里插入图片描述

图4.2 系统功能模块图

热带野生动物园景点预约订票系统的后台包括了用户登录、公告管理、景点管理、会员信息管理、订单管理、系统管理。
用户登录是指管理员通过指定的用户名、密码进行登录,验证成功后才能具有操作权限,避免未被授权用户进行管理,保证系统的信息安全。
公告管理是指管理员对公告信息的基本操作,维护最新的公告信息。
景点管理,加入野生动物园中所有的景点,并对景点进行管理,管理途径站信息。
管理会员信息,管理前台注册的会员信息,删除过期的会员。
订单管理,对订单进行查询,查看订单的状态,处理订单,删除订单等。
系统管理指的是系统退出,系统数据库信息管理。
前台中的首页,可以查看野生动物园的最新公告、操作菜单、注册登录等功能按钮。票务公告信息查看,通过查询最新的公告记录,为用户提供订票帮助的功能。用户注册登录,用户通过注册后使用账号密码进行登录。个人中心,用户登录后在个人中心可以查看。

四、核心代码

部分代码:

require_once("./config.php");
class CommonController{
	public function __construct()
    {
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
        header('Access-Control-Allow-Headers:Origin,Content-Type,Accept,token,X-Requested-With,device');
    }
    //公共方法文件
    /**
     * 获取头部token
     **/
    public function token(){
        $token = $_SERVER['HTTP_TOKEN'];
        if (!$token){
            return false;
        }
        return $token;
    }
    /**
     * 验证token和查询用户id
     **/
    public function checkToken(){
        $token = $this->token();
        $uid = $_SESSION[$token];
        if (empty($uid)) return false;
        return $uid;
    }
    /**
     * curl请求
     * post
     * */
    public function request_post($url = '', $param = '') {
        if (empty($url) || empty($param)) {
            return false;
        }
        $postUrl = $url;
        $curlPost = $param;
        $curl = curl_init();//初始化curl
        curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页
        curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
        curl_setopt($curl, CURLOPT_POST, 1);//post提交方式
        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);// 设置是否检查服务器端的证书
        $data = curl_exec($curl);//运行curl
        curl_close($curl);
        return $data;
    }
    /**
     * 字段 累加
     * $tables 数据表
     * $id 数据id
     * $column 字段
     * $num 累加值
     * */
    public function andone($tables,$id,$column,$num=1){
        $sqlcheck = "select `id`,`".$column."` from  `".$tables."` where `id` =".$id;
        $dataCheck = table_sql($sqlcheck);
        $rows = 0;
        while($row = $dataCheck->fetch_assoc()) {
            $rows = $row[$column];
        }
        $sum = round($rows+$num);
        $sql = "update `".$tables."` set ".$column." = ".$sum." where `id` =".$id;
        table_sql($sql);
        return true;
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
摘 要 I
Abstract II
第1章 项目概述 1
1.1 问题描述 1
1.2 项目目标 1
1.3 项目适用范围 2
1.4 项目应遵守的规范与标准 2
1.5 涉众 2
第2章 需求分析 3
2.1 业务需求 3
2.1.1 业务流程 3
2.1.2 业务对象 3
2.2 功能性需求 4
2.2.1 用例概述 4
2.2.2 用例描述 5
2.3 非功能性需求 8
2.4 运行环境 9
第3章 系统设计 10
3.1 技术路线 10
3.2 软件体系结构设计 11
3.2.1 功能结构 11
3.2.2 系统架构 11
3.3 数据库设计 12
3.3.1 概念结构设计 12
3.4.2 表的详细设计 13
第4章 系统实现 19
4.1 核心功能实现 19
4.2 关键技术难点与解决方案 25
第5章 系统测试 27
5.1 功能测试 27
5.2 测试总结 29
第6章 结论与展望 31
参考文献 33
致 谢 34

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值