php+mysql养生馆会员管理系统-计算机毕业设计源码49996

摘 要

在经济全球化的今天,建立以客户为中心的经营战略,可以加强养生馆和客户间的联系。对养生馆来讲,为客户提供一流的服务,是养生馆建立品牌、实现差别化服务、取得竞争的利器。一直以来人们使用传统人工的方式管理会员的基本档案,这种管理方式存在着许多缺点:效率低、保密性差,另外时间一长,将产生大量的文件和数据,对于查找、更新和维护都带来了不少的困难。而通过会员管理系统,企业就可以很轻松很方便的记录所有会员客户的资料,了解用户的兴趣爱好、消费特点、意向需求等;进而针对客户的需求,为其提供优质的个性化服务,还能为企业的产品开发、事业发展提供可靠的市场调研数据,是养生馆经营不可或缺的一个有利工具。

本文主要通过对养生馆会员管理系统的前台和后台管理进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。养生馆会员管理系统完成了主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、会员信息、充值订单、养生项目、预购订单、积分兑换、兑换记录、评价项目、评价员工、员工考勤、薪资信息功能的实现过程。

关键词:会员管理;PHP框架;

Php health club member management system

Abstract

In today's economic globalization, the establishment of a customer-centric business strategy can strengthen the relationship between the health care center and customers. For the health care center, providing customers with first-class services is a sharp tool for the health care center to establish a brand, achieve differentiated services and achieve competition. For a long time, people have used the traditional manual method to manage the basic files of members. This management method has many shortcomings: low efficiency and poor confidentiality. In addition, over a long period of time, a large number of files and data will be generated, which brings a lot of difficulties to search, update and maintain. Through the membership management system, enterprises can easily and conveniently record the information of all members and customers, and understand the interests, consumption characteristics, intentions and needs of users; Furthermore, according to the needs of customers, providing them with high-quality personalized services can also provide reliable market research data for enterprise product development and career development, which is an indispensable and beneficial tool for the operation of health care centers.

This paper mainly analyzes the functional requirements of the front and back office management of the health club member management system, and the non-functional requirements of the security and scalability of the system. On the basis of detailed requirements analysis, the database structure is determined according to the functional design of the system to achieve complete code writing. The health club member management system has completed the page design and function realization of the main modules. This article shows the implementation effect of the home page, and introduces the implementation process of the user registration function, member information, recharge order, health care item, pre-order, point exchange, exchange record, evaluation item, evaluation employee, employee attendance, and salary information functions through the code and page.

Key words: member management; PHP framework;

目  录

一、 绪论

1.1 研究背景与意义

1.2研究内容

二、 开发工具及相关技术介绍

2.1 开发技术

2.2 MVVM模式

2.3 MySQL数据库

2.4 B/S结构

2.5 Thinkphp框架介绍

2.6 Vue.js 主要功能

三、 系统分析

(一) 可行性分析

1. 经济可行性

2. 技术可行性

3. 操作可行性

(二) 系统功能分析和描述

(三) 系统流程分析

添加信息流程

操作流程

删除信息流程

(四) 非功能性需求分析

(五) 业务流程分析

四、 系统设计

(一) 功能模块设计

(二) 数据库设计

1. 概念模型设计

2. 数据库表设计

五、 系统实现

(一) 用户登录的实现

(二) 系统前台主要功能实现

1、用户注册的实现

2、积分兑换的实现

3养生项目的实现

3. 器材管理的实现

(三) 系统后台主要功能实现

1. 用户管理的实现

2. 余额充值管理的实现

3. 兑换记录管理的实现

六、 系统测试

6.1测试定义及目的

6.2性能测试

6.3测试模块

6.4测试结果

七、 总结与展望

参考文献

致谢

1.1 研究背景与意义

在计算机飞速发展的今天,将计算机这一高效的利器应用于会员管理已是势必所然,它可以带来意想不到的效果,尤其对于复杂的会员信息处理和大量的数据查询,计算机能够充分发挥它的优越性。在给广大用户带来方便的同时也会为的商业的发展提供无限潜力。

计算机已经成为我们学习和工作的得力助手,使用其管理会员有助于提高工作效率。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域。现在我国的中小商业机构中会员的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

随着Internet 的快速发展,会员管理己经成为所有Web应用的基础。从电子政府、企业信息化、综合性网站、到垂直门户、数字图书馆乃至所有的电子商务,一定会涉及到内容的采集、创建、存储、管理、发布、检索和服务。会员管理在企业管理中有重要的地位和意义。开发会员管理信息系统是提高管理水平和管理效率的客观需要,结合会员管理信息系统的研究和开发工作,阐述了会员管理信息系统的特点、作用及有关其实现的若干关键性技术问题。

1.2研究内容

养生馆会员管理系统的开发及实现,所需要的工作内容:

(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。

(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,养生馆会员管理系统的开发使用PHP框架,数据库进行系统的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。

(3)确定好系统使用的技术,进行在线确认系统所划分的用户角色,并且根据用户角色划分确定所要设计的功能模块,对于养生馆会员管理系统的设计主要划分别为管理员和用户角色,并所使用的功能模块也相应不同,但是系统的数据库实现的内容是交互的,用户可以随时根据自己的需求进行信息搜索,对于系统工作人员可以根据自己的分管内容进行在线信息的处理及操作,管理员获取到所有用户的详细数据信息,并根据需求进行第一时间处理解决。

(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,并且通过测试来判断程序是否完善,对于系统测试,需要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。

 2.1 开发技术

本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于php的Thinkphp框架进行开发。

前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。

后端部分:采用Thinkphp作为开发框架,同时集成Redis等相关技术。

2.2 MVVM模式

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频视频3D动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

2.3 MySQL数据库

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的养生馆会员管理系统也需要这项技术的支持。

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。

2.4 B/S结构

B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。

2.5 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扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

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

 2.6 Vue.js 主要功能

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

系统分析

本系统将在经济、技术、操作这三个角度上进行可行性分析。

  1. 经济可行性

整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。

  1. 技术可行性

技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于php语言,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用Mysql数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。

  1. 操作可行性

养生馆会员管理系统的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用php技术开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。

使用养生馆会员管理系统的分为管理员和用户、员工、普通管理者四个权限模块。

管理员所能使用的功能主要有:首页、个人资料、公共管理(轮播图、网站公告)用户管理(管理员、会员用户、员工用户、普通管理者)会员信息、充值订单、养生项目、预购订单、积分兑换、兑换记录、评价项目、评价员工、员工考勤、薪资信息等。

会员用户可以实现首页、个人信息、会员信息、充值订单、预购订单、兑换记录、评价项目、评价员工。

普通管理者可以实现:首页、个人资料、用户管理(会员用户、员工用户)会员信息、充值订单、养生项目、预购订单、积分兑换、兑换记录、评价项目、评价员工、员工考勤、薪资信息。

员工可实现:首页、个人资料、员工考勤、薪资信息。

管理人员用例图如下所示。

图1 管理员用例图

会员用户用例图如下所示。

图2 会员用户用例图

普通管理者用例图如下所示。

图3 普通管理者用例图

员工用户用例图如下所示。

图4 员工用户用例图

添加信息流程

添加信息,编号系统使用自动编号模式,没有用户填写,用户添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图3-3所示。

图3添加信息流程图

操作流程

用户想进入系统,首先进入系统登录界面,通过正确的用户名、密码,选择登录类型登录,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图3-4所示。

4操作流程图

删除信息流程

用户选择要删除的信息并单击Delete按钮。系统提示是否删除信息。如果用户想要删除信息,系统将删除信息。系统数据库删除信息。删除信息流程图如图3-5所示。

5 删除信息流程图

随着用户量的增加,系统可能会需要同时服务上千、上万个页面,服务器需要同时响应大量用户的操作,这就要求系统需要有良好的可扩展性,否则系统会出现延迟,卡顿甚至服务器崩溃的问题。高扩展性可以使软件保持旺盛的生命力,同时也能够使系统更好的适应用户增加、提高性能需求、增加应用功能等改变。

系统中保存了大量用户和管理员的个人信息,因此,保证系统服务器和数据安全是在开发过程中需要考虑的重要问题。安全性包括服务器安全、操作系统安全、数据库安全、程序代码安全以及用户个人信息和支付安全等,系统可以通过采用防火墙技术、加密技术、认证技术等来增强其安全性,只有一个健壮安全的系统才能具有长久的生命力。

养生馆会员管理系统的前台中,会员模块和充值模块进行数据交互,前台的功能主要包括用户模块、预购订单、充值订单模块和兑换记录模块。

养生馆会员管理系统的后台中,管理员对用户在前台提交申请产生的数据进行处理,以满足用户的需求。前台系统和后台系统有数据交互,整个系统各个部分相互独立又密不可分。后台的功能主要包括用户管理、会员信息、充值订单、养生项目、预购订单、积分兑换、兑换记录、评价项目、评价员工、员工考勤、薪资信息。

系统设计

通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。

图4系统功能结构图

  1. 概念模型设计

概念设计包括实体和联系两部分,如该系统中,用户是一个实体,其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。

(1)管理员实体属性图如下图5所示

图5管理员实体属性图

(4) 用户注册实体属性如下图4-5所示

图4-5用户注册实体属性图

图5系统E-R图

连接数据库的文件在Resources 文件夹下的application.yml文件,代码如下:

class AccessToken extends Base

{

    protected $table = 'access_token';                //数据表名

    protected $table_id = 'token';             //数据表名

    protected $validate = 'AccessToken';             //数据表名

    protected $model;

    public function __construct(){

        $this->model = new Model();

    }

}

  1. 数据库表设计

数据库表是设计和实现系统的一个重要基础。以下列出了小郑米粉店几个重要的数据库表。

advance_order

字段名称

类型

长度

不是null

主键

字段说明

advance_order_id

int

11

主键

预购订单ID

manager_information

int

11

管理者信息

order_no

varchar

64

订单编号

project_no

varchar

64

项目编号

entry_name

varchar

64

项目名称

project_type

varchar

64

项目类型

project_price

int

11

项目价格

employee_id

varchar

64

员工工号

user_information

int

11

用户信息

member_number

varchar

64

会员编号

member_name

varchar

64

会员姓名

time_of_appointment

datetime

0

预约时间

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

employee_attendance

字段名称

类型

长度

不是null

主键

字段说明

employee_attendance_id

int

11

主键

员工考勤ID

employee_information

int

11

员工信息

employee_id

varchar

64

员工工号

employee_name

varchar

64

员工姓名

work_shift

datetime

0

上班时间

closing_time

datetime

0

下班时间

attendance_status

varchar

64

考勤状态

attendance_date

date

0

考勤日期

manager_information

int

11

管理者信息

note_details

text

0

备注详情

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

employee_user

字段名称

类型

长度

不是null

主键

字段说明

employee_user_id

int

11

主键

员工用户ID

employee_id

varchar

64

员工工号

employee_name

varchar

64

员工姓名

employee_gender

varchar

64

员工性别

employee_department

varchar

64

员工部门

employee_position

varchar

64

员工职位

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

evaluate_employees

字段名称

类型

长度

不是null

主键

字段说明

evaluate_employees_id

int

11

主键

评价员工ID

manager_information

int

11

管理者信息

order_no

varchar

64

订单编号

project_no

varchar

64

项目编号

entry_name

varchar

64

项目名称

project_type

varchar

64

项目类型

user_information

int

11

用户信息

member_number

varchar

64

会员编号

member_name

varchar

64

会员姓名

employee_id

varchar

64

员工工号

evaluate_employees

text

0

评价员工

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

evaluation_items

字段名称

类型

长度

不是null

主键

字段说明

evaluation_items_id

int

11

主键

评价项目ID

manager_information

int

11

管理者信息

order_no

varchar

64

订单编号

project_no

varchar

64

项目编号

entry_name

varchar

64

项目名称

project_type

varchar

64

项目类型

user_information

int

11

用户信息

member_number

varchar

64

会员编号

member_name

varchar

64

会员姓名

evaluation_items

text

0

评价项目

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

exchange_records

字段名称

类型

长度

不是null

主键

字段说明

exchange_records_id

int

11

主键

兑换记录ID

manager_information

int

11

管理者信息

exchange_note_no

varchar

64

兑换单号

prize_no

varchar

64

奖品编号

name_of_prize

varchar

64

奖品名称

prize_type

varchar

64

奖品类型

member_points

int

11

会员积分

user_information

int

11

用户信息

member_number

varchar

64

会员编号

member_name

varchar

64

会员姓名

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

general_manager

字段名称

类型

长度

不是null

主键

字段说明

general_manager_id

int

11

主键

普通管理者ID

job_no

varchar

64

工号

full_name

varchar

64

姓名

gender

varchar

64

性别

department

varchar

64

部门

position

varchar

64

职位

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

health_care_items

字段名称

类型

长度

不是null

主键

字段说明

health_care_items_id

int

11

主键

养生项目ID

manager_information

int

11

管理者信息

project_no

varchar

64

项目编号

entry_name

varchar

64

项目名称

project_type

varchar

64

项目类型

project_price

varchar

64

项目价格

project_efficacy

varchar

64

项目功效

employee_id

varchar

64

员工工号

project_introduction

text

0

项目介绍

project_cover

varchar

255

项目封面

hits

int

11

点击数

praise_len

int

11

点赞数

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

member_information

字段名称

类型

长度

不是null

主键

字段说明

member_information_id

int

11

主键

会员信息ID

user_information

int

11

用户信息

member_number

varchar

64

会员编号

member_name

varchar

64

会员姓名

member_balance

int

11

会员余额

member_points

int

11

会员积分

member_description

text

0

会员说明

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

member_users

字段名称

类型

长度

不是null

主键

字段说明

member_users_id

int

11

主键

会员用户ID

member_number

varchar

64

会员编号

member_name

varchar

64

会员姓名

member_gender

varchar

64

会员性别

membership_age

varchar

64

会员年龄

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

points_redemption

字段名称

类型

长度

不是null

主键

字段说明

points_redemption_id

int

11

主键

积分兑换ID

manager_information

int

11

管理者信息

prize_no

varchar

64

奖品编号

name_of_prize

varchar

64

奖品名称

prize_type

varchar

64

奖品类型

member_points

varchar

64

会员积分

prize_characteristics

varchar

64

奖品特点

prize_details

text

0

奖品详情

prize_pictures

varchar

255

奖品图片

hits

int

11

点击数

praise_len

int

11

点赞数

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

recharge_order

字段名称

类型

长度

不是null

主键

字段说明

recharge_order_id

int

11

主键

充值订单ID

order_no

varchar

64

订单编号

user_information

int

11

用户信息

member_number

varchar

64

会员编号

member_name

varchar

64

会员姓名

recharge_amount

int

11

充值数额

recharge_date

date

0

充值日期

pay_state

varchar

16

支付状态

pay_type

varchar

16

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

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

salary_information

字段名称

类型

长度

不是null

主键

字段说明

salary_information_id

int

11

主键

薪资信息ID

employee_information

int

11

员工信息

employee_id

varchar

64

员工工号

employee_name

varchar

64

员工姓名

working_month

varchar

64

工作月份

base_pay

varchar

64

基本工资

merit_pay

varchar

64

绩效工资

amount_of_penalty

varchar

64

罚款金额

reward_amount

varchar

64

奖励金额

net_salary

varchar

64

实发工资

manager_information

int

11

管理者信息

details_of_rewards_and_punishment

text

0

奖惩详情

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

用户注册完成后,点击“登陆”进入到登陆页面,输入用户名和密码,点击“登陆”按钮,对用户名和密码进行验证,根据传入的用户名和密码在数据库中是否能查询到一条用户信息,若不能返回用户信息则登陆失败,页面提示用户名或密码错误。

登录界面如下图所示。

图5-1登录界面

用户登录的关键代码如下。

public function login()

    {

        if (Request::isPost()) {

            $request = Request::param();

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

            if (true !== $result) {

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

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

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

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

                $data = $result;

            }

        } else {

            $data['error'] = 30000;

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

        }

        return json_encode($data);

    }

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

        $username = $request['username'];

        $password = $request['password'];

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

        if ($bol){

            $password = md5($password);

            if ($request['password']==$bol['password']) {

                //添加token信息

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

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

$access_token['info'] = json_encode($bol);

                // $access_token['info'] = $bol;

                $access_token['token'] = md5(date('Y-m-d H:i:s'));

                $bol_token = Db::name('AccessToken')->insert($access_token);

                if ($bol_token){

                    $data['obj'] = $bol;

                    $data['obj']['token'] = $access_token['token'];

                    return ['result' => $data];

                }else{

                    return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];

                }

            } else {

                return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];

            }

        }else{

            return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];

        }

    }

1、用户注册的实现

用户进入系统首页后,点击“注册”链接进入到注册页面,按照页面提示输入用户名密码和手机号,页面进行表单验证,验证输入的用户名和账号是否合法,表单验证通过后,点击“立即注册”按钮,利用 Ajax 技术,对用户名和账号实现页面无刷新验证,检测数据库中是否已经存在该用户名,若数据库中不存在,则注册成功,注册成功后,自动跳转到登录页面。

用户注册界面如下所示。

           

图5-3用户注册界面

用户注册的关键代码如下。

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' => '注册失败,账号已存在']];

        }

    }

2、积分兑换的实现

积分兑换页面可查看奖品名称会员积分等信息进行兑换商品,如下图所示。 

图5-4积分兑换页面

3养生项目的实现

系统首页提供了养生项目浏览功能,用户在输入框内输入项目信息关键字,点击提交按钮,系统将用户输入的关键字传递到后台。首先创建一个实体类 PageBean,该实体类的属性包括页码 pageCode、每页记录数 pageSize、总记录数 totalRecord 和一个 List 集合 beanList,用循环将录入到的结果分页展示。

预约信息界面如下图所示。

图5-5养生项目界面

  1. 器材管理的实现

点击“器材管理”按钮,页面将该器材管理的数据传递到后台,首先查询数据库器材表中是否已经存在该商品,若存在直接将商品数量加一,若不存在则创建一个新的器材对象,添加成功,数据库中的器材表单添加一条信息。

  1. 用户管理的实现

管理员对系统用户的管理,在管理员管理实现管理员用户的管理,包括录入、删除、修改,修改密码通过SESSION获取用户名,然后输入新密码,使用sql命令更新密码。

用户管理界面如下图所示。

5-6用户管理界面

  1. 余额充值管理的实现

管理员可以获取系统中所有会员的余额充值,并对其进行编辑。管理员在添加会员余额充值信息时,需要输入充值基本信息,如会员编号、充值金额、充值时间等。添加充值信息完成,数据库中的余额充值表添加一条信息。

余额充值管理界面如下图所示。

图5-7余额充值管理界面

  1. 兑换记录管理的实现

管理员在后台管理界面点击到所有兑换记录界面列表,可以搜索当前所有兑换记录信息,调用搜索全部兑换记录的请求,向数据库的兑换记录表搜索当前所有兑换记录并将兑换记录信息以对象的形式层层返回到兑换记录列表界面,显示出当前所有兑换记录信息。同时可以删除过期兑换记录,确认已有兑换记录。

兑换记录管理界面如下图所示。

图5-8兑换记录管理界面

6.1测试定义及目的

关于系统实现的测试,英文名称是System TEST,简称ST,ST是使用完整其系统的各种功能多次、多案例、多环境测试,这是ST的简单描述。ST可以证明该功能对系统的要求是否得到满足以及是否有效。

对于系统开发的实现,不管开发过程多么努力,在系统运行的时候多少都会出现一些错误信息,所以为了系统的安全性及提高系统的使用率及给用户带来更好的体验,系统在完成之前,一定要进行一遍系统的测试,再完美的程序也会有漏洞,再细心的技术开发员也会有疏忽的时候,所以对于程序的测试是必须要做的一步。通过系统测试找到系统存在的问题,并根据问题的原因进行在线解决问题,如果找不到解决问题的办法可以进行通过咨询指导老师或者通过同学帮忙,一定将问题找出,否则将会出现更多的错误。所以程序出现错误时不可避免,系统测试虽然耗时费力,但是为了确保后期系统的长期使用,必须要进行系统测试,问题解决完成后还要再一步测试,直到没有任何问题后方可进行使用。

6.2性能测试

任何一款程序开发成功后都必须通过软件测试,它是保障软件稳定运行的前提。测试最主要的一步就是性能测试,性能测试内容如下:

(1)对于测试的速度有一定的要求,速度必须快,而且对于测试出来的错误问题一定以最快的速度进行处理解决,并且进行再次测试,保证整个系统运行的安全性。

(2)在系统测试的时候要将测试所用到的测试计划和测试报告保管好,方便后期系统的运行使用后的整体维护操作。

(3)软件测试整个过程中的聚类现象应优先考虑。

(4)对于整体系统测试,不要用自己的思想去认可整个系统,而是从公正的角度的进行对系统进行认可,是否符系统的整合应用。

6.3测试模块

测试系统是最新的Windows 10系统,通过对系统实现的功能模块进行每个功能模块的操作测试,查看每个用户的功能模块所对应的权限信息是否可以操作并且数据信息更新一致。

测试需求

测试重点

是否达成需求

结果

用户登录

输入账号密码

需求达成

通过

用户注册

创建新的账号密码

需求达成

通过

登录失败

输入错误账号密码

需求达成

通过

修改信息

修改成功

需求达成

通过

添加信息管理

增删查改

需求达成

通过

回复管理

增删查改

需求达成

通过

搜索查询管理

增删查改

需求达成

通过

                                                                                                                                                       

系统测试方面,我们通常运用的是白盒测试以及黑盒测试这两种方法。白盒测试是指在了解系统内部工作流程的前提下,可以根据需求规范验证系统内部操作是否能够正常运行的测试;而黑盒测试指的是,倘若知道了这个系统的全部功能,可以进行测试检测系统中的每一个功能是否满足正常使用。

为了方便用户使用“养生馆会员管理系统”,以及尽可能少的减少系统测试错误的发生,我们对该系统进行了相对应的测试。

对该系统的全部的功能界面进行测试,简单来说,就是我们输入一些数据并且对其进行提交,之后我们查看每个页面的反馈,检测页面的相关功能可不可以完全实现。

6.4测试结果

测试评估的结果是养生馆会员管理系统满足要求中的所有功能,处理大多数错误条件,修复大多数错误并通过测试。养生馆会员管理系统的基本功能都是可行的,不管是系统里面的功能还是界面的设计都是可值得推广宣传的。

经过这几个月的设计和开发,“基于php养生馆会员管理系统”已经完成了,其功能符合设计需求,能够完成用户的注册、会员用户的会员信息、充值订单、预购订单、兑换记录、评价项目、评价员工和管理员的会员信息、充值订单、养生项目、预购订单、积分兑换、兑换记录、评价项目、评价员工、员工考勤、薪资信息等功能。经过最后的使用,证明系统完全具有可行性与可扩充性。

在系统的分析阶段,主要是分析系统的需求,理解系统要完成的基本功能,找出系统的用例(Use Case)和角色(Actor),画出系统的用例模型图,用例模型是此后系统建模的基础。在用例的基础上分析顺序图和协作图,得到系统的所有对象,然后建立对象模型。抽象出系统的类,并将系统中联系紧密的类划分为若干个包,画出包图。有了这些基础,就可以将系统划分为小单元功能模块。

整个过程中,我必须认可UML统一建模语言,它让我很清晰的知道自己想做什么,想实现什么,对系统后面的代码编写起到决定性的帮助,同时经过本次系统的设计与实现,让我积累了很多经验,提高了编写程序的能力,为以后的学习和工作打下了坚实的基础。

由于时间有限,本系统还有待继续完善和改进,因此需要进一步进行分析和修改,以使其更加完善! 

参考文献

[1]张蒙蒙,曹成茂.基于MVC框架的会员管理系统的设计与实现[J].滁州学院学报,2021,23(05):27-32.

[2]黄志超,雷学峰.会员管理与备份系统的设计与实现[J].信息与电脑(理论版),2021,33(15):137-140.

[3]姜志敏,杨欢欢.在线化生存下的会员管理[J].中国药店,2021(05):74-77.

[4]梁增华,张书锋,尤澜涛.商业零售会员管理系统的设计与实现[J].电脑知识与技术,2021,17(05):67-70.

[5]徐驰. 基于分布式的会员管理系统的设计与实现[D].西安电子科技大学,2020.

[6]王娟,马薇.基于.NET的协会会员管理系统的设计与实现[J].电子技术与软件工程,2020(05):169-170.

[7]李坤. 大连宜家会员关系管理优化策略研究[D].大连理工大学,2019.

[8]段清阳. 基于会员分类的会员关系管理应用研究[D].长安大学,2019.

[9]罗苑瑜.PDCA循环法在会员管理制度的运用[J].管理观察,2019(05):88-89.

[10]顾宏. 高尔夫会员信息管理系统的设计与开发[D].湖北工业大学,2018.

[11]孙文宇. 电视台全媒体客户资源信息管理系统的设计与实现[D].山东大学,2018.

[12]周超. 会员管理系统运营支撑子系统的研究与实现[D].北京邮电大学,2018.

[13]泛舟.会员数据的“价值”[J].中国药店,2018(01):28.

[14]张朦博轩. 基于微信公众平台的电子会员信息管理系统研发[D].北京工业大学,2018.

[15]朱真真,王柯梦. php在动态网站开发中的优势与具体应用分析[C]//.广东省教师继续教育学会第六届教学研讨会论文集(一).,2023:2036-2038.DOI:10.26914/c.cnkihy.2023.000662.

[16]张黎平.“互联网+”背景下PHP动态网站开发技术研究[J].无线互联科技,2022,19(16):154-156.

[17]赵婉彤.基于PHP与MySQL的动态网站设计与实现[J].电脑编程技巧与维护,2022(08):103-105+109.DOI:10.16184/j.cnki.comprg.2022.08.022.

[18]么伟伟,张涛.PHP技术在企业网站开发中的应用研究[J].现代工业经济和信息化,2022,12(05):158-159+234.DOI:10.16525/j.cnki.14-1362/n.2022.05.065.

[19]刘军.基于PHP技术的动态网页设计[J].信息记录材料,2021,22(10):142-143.DOI:10.16009/j.cnki.cn13-1295/tq.2021.10.068.

[20]赵勇涛.PHP代码缺陷检测技术研究[J].信息记录材料,2021,22(06):183-185.DOI:10.16009/j.cnki.cn13-1295/tq.2021.06.101.

致谢

时光飞逝,转眼间我在学校的这些年生活即将结束,回顾这几年的学习生活,收获良多,既有幸福也有难过,学校生活的结束对于我来说也是一个新的开始。论文即将完成,在此,我心中有许多想要感谢的人。首先感谢我的导师,不仅在学习研究方面加以指导,也在生活和为人处世上给予帮助。还要感谢授课老师,你们严谨的学术精神和积极向上的工作态度都在激励我的成长和进步。感谢多年来一直生活在一起的室友,谢谢你们多年来的陪伴和照顾。最后,要感谢各位论文评审老师,感谢您们在百忙之中抽空评阅本论文并给出宝贵的意见和建议。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值