基于PHP的网上购物网站毕业设计(含源文件)

更新时间:2024-05-23 19:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业论文

题 目: 基于PHP的网上购物网站

院系名称: 专业班级:

学生姓名: 学 号: 指导教师: 教师职称:

摘要

随着Internet技术的发展,人们的日常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于Internet技术的发展,也将越来越数字化、网络化、电子化、虚拟化。电子商务也随着网络的发展日益和人们的生活贴近。Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。本设计尝试用PHP在网络上架构一个动态的网上商品购物网站,以使每一位顾客不用出门在家里就能够通过上网来轻松购物。

本文详细介绍了基于PHP的网上购物系统的系统结构设计、实现方法和操作流程,并介绍了系统各个模块的主要功能和数据库设计及功能。该系统采用B/S结构,采用PHP技术进行动态窗体页面的设计。后台数据库选用MySQL 数据库。系统设计并实现了会员注册及登录模块,会员基本信息模块,会员购物模块,产品搜索模块,管理员商品管理模块,用户管理模块,订单管理模块,信息管理模块等一系列功能模块。最后,对网上购物系统进行了系统测试,各个模块功能运行良好。

关键字:Internet,PHP,B/S,网上购物系统

I

Title PHP-based Shopping Inline System Abstract

Along with the development of internet technology, daily life can not go on without the network. The life and work of the social people of future will depend on the development of digital technology more and more , digitization, networking, electronization, virtual more and more. E-commerce presses close to people's life day by day along with the development of network too.Developing course and present application state and development trend of Internet can believe network technology will change life and working way of us greatly, and even change the values of the society to some extent.This paper tries to build up a dynamic e-commerce website in the network with PHP, so that each customer needn't go out and can do some shopping easily through internet at home 。 This paper describes system structure design, implementation method and operation process based on PHP, and introduces main functions of various modules about the system and database design. The system uses B/S structure, and conducts design of dynamic form page by PHP technology. Background database selects MySQL database. System design realizes a series of function modules such as user registration and landing module, user basic information module, shopping module, searching goods module, the management of goods ,the management of user,the management of orders ,the management of news and so on. Finally, the paper tests Shopping Inline System, and the result finds that kinds of modules operate well.

Keyword: Internet,PHP,B/S ,e-Shopping

II

目 次

1 绪论 ............................................................ 1

1.1开发背景及意义............................................... 1 1.2 国内外电子商务现状 .......................................... 1 1.3本文研究的内容............................................... 3 1.4 开发可行性分析 .............................................. 3

1.4.1 管理上的可行性......................................... 3 1.4.2 技术上的可行性......................................... 3 1.4.3 经济上的可行性......................................... 4 1.4.4法律可行性 ............................ 错误!未定义书签。 1.4.5执行可行性 ............................................. 4

2 系统需求分析 .................................................... 5

2.1目标和任务................................................... 5 2.2 系统功能分析 ................................................ 5

2.2.1 功能性需求概述......................................... 5 2.2.2系统流程分析 ........................................... 7 2.2.3 系统目录结构........................................... 8 2.3数据库分析................................................... 9

2.3.1 数据库需求分析......................................... 9 2.3.2数据库概念结构设计 ..................................... 9 2.4系统开发环境................................................ 10

2.4.1 硬件平台............................................. 10 2.4.2 服务器平台........................................... 10 2.4.3 开发工具............................................. 10 2.4.4 技术构架............................................. 10 2.6数据字典.................................................... 11 2.6.1数据元素.................................................. 11 2.6.2数据存储。................................................ 11 3系统概要设计 ................................................... 13

III

3.1系统结构设计................................................ 13

3.1.1 系统体系结构.......................................... 13 3.1.2 系统总体功能结构...................................... 14 3.1.3 系统总体物理结构...................................... 16 3.2数据库结构设计.............................................. 17

3.2.1数据库概念结构设计 .................................... 17 3.2.2数据库逻辑设计 ........................................ 17

4系统详细设计 ................................................... 21

4.1系统设计.................................................... 22 4.2 公共模块设计 ............................................... 22

4.2.1 数据库公共模块........................................ 22 4.2.2 common.php和golbal.php单元 .......................... 22 4.3产品模块设计................................................ 23

4.3.1 产品类型设计.......................................... 23 4.3.2 产品添加设计.......................................... 23 4.3.3 产品信息查询.......................................... 25 4.4前台页面模块设计............................................ 26

4.4.1首页设计 .............................................. 26 4.4.2 产品详细信息.......................................... 27 4.4.3 购物车设计............................................ 28 4.4.4结账处理 .............................................. 29 4.4.5 会员注册和登录页面设计................................ 29 4.4.6 会员账户管理.......................................... 30 4.5 订单管理模块设计 ........................................... 31 4.6会员管理模块设计............................................ 32 5 系统测试 ....................................................... 33

5.1系统测试.................................................... 33

5.1.1 测试的目的............................................ 33 5.1.2测试的准则 ............................................ 33

IV

2系统需求分析

2.1目标和任务

网上购物基于B/S模式, 通过对一些典型电子商务网站的考察、分析,并结合企业要求, 开发一套拥有前后台的信息化管理系统,需满足以下要求: ? 统一友好的操作界面,保证系统的易用性; ? 商品分类详尽,可按不同类别查看商品信息;

? 为客户提供通过一个购物车模型就能够购买多个商品项的机制;

? 提供简单的安全模型,让客户必须先进行登录,才允许购买购物车的内 容;

? 设计网站后台操作平台,管理网站的各项基本数据。 ? 对不同的管理者设置不同的权限; 系统的主要任务有:

a,处理对象:主要涉及的数据有:商品、顾客(会员)、顾客组、管理员(用户)、管理员组、订单、邮寄方式等。

b,处理功能要求:本系统完成商品、顾客(会员)、管理员(用户)、订单等之间的功能联系,形成一个有效的循环系统。具体包括以下几点:1,顾客注册为会员;2,管理员发布商品;3,订单管理;4,顾客组管理;5,管理员权限的管理等。

2.2系统功能分析 2.2.1功能性需求概述

在线购物系统是商家和购买者直接接触的桥梁,商家通过管理在线购物系统,向购买者发布、展示产品,而购买者也通过网站和商家交流、订购产品,从而达到现实交易的目的。

在这个交易过程前,商家需要将产品信息录入,并且在前台显示出来,这其实就是一个信息发布系统,顾客在看到产品后,可能会有许多的问题,也就是需要针对产品留言,然后企业做出相应的回答,这个留言也属于信息发布的一部分。 在交易过程中,顾客一般是不允许匿名购买的,顾客需要留下现实的个人信息才能收到现实中的产品,相信作为顾客,也很愿意方便线下联系。接着是在线

5

模拟交易过程,顾客完成所有的选取后,就可以付账了,这里需要和支付网关连接。付账之后就是企业方通过后台的程序发现有新交易并进行线下处理。 在交易完成后,企业方需要对近期销售情况进行统计,如会员资料的查询、修订等。

通过对电子交易流程的划分,在线购物系统的系统功能主要由3部分组成:信息发布系统、会员管理系统和电子交易系统。电子商务的本质更趋向于电子交易,也就是前台和客户打交道的页面。

通过细化系统功能,很明显电子交易部分是重点,电子交易页面需要完成哪些功能呢?

逛在线购物系统和逛超市相似,进入超市时,顾客习惯拿购物筐或者购物车,再开始逛。逛超市时会不断查看想买的东西,直到确定买的那个产品的位置,在确定的过程中,会不断将其他物品放到购物车中,然后再将不适合的东西拿出,一直到结账。在选取物品时会发现,超市总是把相关的产品放在一个位置,以方便消费者,同时消费者也会拿出两个相同类型的东西进行比较。

通过对超市购物的分析,了解了应该如何去模拟一个现实的交易过程。首先,需要一个产品的展示,方便顾客查询,还要有产品比较的数据,更有助于消费者比较,选择自己满意的产品;然后,要有一个购物车,方便顾客查看自己选中的产品,也可以把需要购买的产品放入购物车或者从购物车中拿出不需要的产品;最后是结账,和超市结账有很大区别,电子商务不允许匿名买卖。付账和收到产品之间有一个相对较长的时间,而且企业和顾客也不是面对面的,企业需要收集有效的信息,才能把产品送到顾客手中,所以结账时要确定用户是否登录,以收集用户的资料。

通过以上分析可知,本系统分成两个模块:前台浏览模块和后台管理模块。 前台浏览模块可再分为两个模块:产品浏览模块和购物模块,涉及产品首页浏览、推荐产品浏览、产品列表,以及查看产品详细内容、查看评论等功能。购物模块主要充当购物车作用,包括选取产品、对比产品、会员注册、登录及网上支付等功能。

后台管理模块可分为3个模块:会员管理模块、产品管理模块和订单管理模块。后台管理模块主要涉及产品分类目录管理,以及产品内容的管理。会员管理

6

模块主要是查看和修改,包括管理会员的基本资料以及购买的产品等详细信息。订单管理模块主要涉及对顾客订购的产品管理,按照订单的状态大致分为待处理的订单和已经处理的订单。

本系统的结构图如图2-1所示:

电子商务网站 前台浏览 后台管理 产品浏览模块 购物模块 会员管理模块 产品管理模块 订单管理模块 用户管理模块 会员注册 会员登录 选取产品 在线支付 查看会员资 料 会员购买产品 产品发布 产品修改 新订单 待发订单 已发订单 完成交易订单

图2-1 系统结构图

2.2.2系统流程分析

在后台管理模块中,管理员需要先添加产品栏目分类,再进入产品列表页面,选择指定的产品栏目进行产品添加操作。在会员提交订单之后,管理员可以通过订单管理模块查看订单,并根据实际情况更改订单状态,管理员也可以通过会员管理模块查看会员信息。前台界面则是会员选取需要购买的商品,并提交订单。后台管理的流程图如图2-2所示。

7

管理首页 不通过 登录验证 通过 导航条 产品分类维护 订单列表 会员列表 产品列表 会员查看 产品添加 产品修改 产品删除 会员编辑

图2-2 后台管理流程图

2.2.3系统目录结构

系统目录结构的规划非常重要,这样可以更加方便管理程序,体现出清晰的思路。通过对系统结构的分析,可以按照功能模块来划分系统目录结构。如图2-3所示:

图2-3 目录结构

8

由图可以看出,系统文件保存在dzsw目录中,其下有13个子目录:admin目录主要保存后台管理的程序:data主要保存一些log信息,方便以后的查看:htmlarea目录保存文本编辑代码:includes目录保存公共模块中的代码,如MySQL连接之类的封装类等;install目录保存安装程序,方便把系统移植到其他的机器上,也方便初始化网站;js目录包括程序中需要使用的JavaScript程序;languages目录主要是为了界面的多国语言需要设计的,根据不同语言的需要调用不同的文件;modules目录保存连接支付网关的程序;myaccount目录保存关于本站的一些信息;styles目录保存网站的样式文件;templates目录保存模板文件;upload目录保存所有的上传文件,这个文件夹需要特别关照,在发布网站后,这个目录中的任何东西都是不能执行的,否则将产生隐患。 2.3数据库分析 2.3.1数据库需求分析

数据库需求分析是所有数据库系统设计的最重要一步,在这个步骤里需要对系统的所有数据存储进行分析和整理,以便得出具有稳定性和扩展性的存储结构,这也是数据建模的过程。

通过分析,不难得出主要有4个重要的实体对象,即产品分类存储表、产品内容存储表、订单存储表及会员存储表。 这4个表是在线购物系统的核心,所有的产品必须归属于某个类别,而这些产品分类的类别是不固定的,所以就需要一个分类存储表来存储产品的分类栏目。 2.3.2数据库概念结构设计

根据以上对数据库的分析,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

下面是在线购物系统的E-R模型图

9

图3-2 电子购物系统功能模块结构图

1、前台模块详细功能描述

其中,用户信息管理以及订单和购物车是禁止匿名用户访问的内容。 (1)商品信息模块:

商品浏览(首页显示部分普通商品列表)、特价商品浏览(首页显示特价商品列表)、商品分类浏览、商品详细信息。 (2)购物车模块:

添加商品到购物车、购物车信息修改、结账。 (3)用户信息管理模块:

注册新用户、登录、用户修改密码、用户个人资料管理。 (4)订单模块:

查询个人订单列表、查询某笔订单的详细信息、取消订单。 2、后台模块详细功能描述 (1)管理员信息管理:

管理员登录、添加新管理员、删除管理员、修改密码。 (2)商品信息管理:

添加新商品、修改商品信息、删除商品。

(3)订单管理:

15

管理订单是否确认、是否付款、是否发货、是否归档,并且对相应信息进行查询。

3.1.3系统总体物理结构

电子购物各个部门在不同的地点办公,网络拓扑结构以交换机为基础,各部门通过主交换机连接到公司主服务器,电子购物有不同办公地点。根据这个特点,系统利用微机局域网作为系统的基本物理结构。为了提高系统的可靠性和可扩展性,网络采用以网络集线器为基础,以双绞线为传输介质的星型结构。在每个业务发生点以及每个管理员分别配制微型计算机作为系统结点工作站,系统功能的实现,子系统间的数据共享与交互通过网络服务器完成。电子购物的系统网络拓扑图如图3.3所示。

图3.3 电子购物商城系统网络拓扑图

系统具体物理配置如下:

利用公司已经架设好的企业局域网,主服务器采用:服务器、交换机、网络集线器,传输介质采用10M屏蔽双绞线为介质的星型网络拓扑结构,服务器作为系统功能实现和数据共享中心,应具有较好的性能和可靠性。在此基础上再配上一台提供web服务的服务器和一台MYSQL数据库服务器即可实现对本系统的全部

16

物理支持。

系统具体硬件配置如下:

1)、WWW服务器:INTER P4 2.4 512M DDR ROM 80GB 硬盘。 2)、数据库服务器:INTER P4 2.4 512M DDR ROM 80GB 硬盘。 3)、客户机:目前流行的PC兼容机。

4)、网络连接设备:路由器、交换机、打印机、扫描仪等。 系统具体软件配置如下:

1)、操作系统:Microsoft公司Windown2000Server,网络协议采用TCP/IP协议,

客户机 WINDOWS 2000/XP。 2)、WWW服务器:Apache. 3)、数据库软件:MYSQL。 3.2数据库结构设计 3.2.1数据库概念结构设计

根据需求分析中的结果,数据库的关系模型设计如下:

会员(顾客ID,顾客名称,顾客组,消费金额,注册日期,联系方式) 产品(产品编号,产品名称,售价,数量,图片,备注) 管理员(管理员编号,密码,管理员组) 订单(编号,顾客名称,内容,备注) 顾客组(ID,类别,名称,折扣) 管理员组(ID,类别,名称,权限) 邮寄方式(ID ,名称,费用计算) 3.2.2数据库逻辑设计

经过需求分析,概念结构设计,了解了系统的存储结构需求后,可以得出8

个表结构,即顾客组设置表、顾客表、产品评论表、产品列表、订单表和邮递方式表、管理员表、管理员组表。

顾客组设置表是为了存储顾客的打折优惠,这里记录的事组的打折信息。表结构如表3-1所示

17

表3-1顾客组设置表(usergroups)结构

序 号 1 2 3 4 字 段 Groupid Classes Grouptitle groupdiscount 描 述 类型和长度 主 键 是 否 否 否 可 空 否 否 否 否 默认值 无 无 无 0 自动编号 Smallint(6) 类型 组名称 折扣 Varchar(30) Varchar(30) float 顾客信息表主要是记录顾客的详细信息,其中groupid是指定顾客组的编号,用户的名称采用Email,记录用户的登录时间可以方便的查看最后的登录时间,这样有助于对客户的跟踪服务。表结构如表3-2所示

表3-2 顾客信息表(customers)结构

序 号 1 2 3 4 5 6 7 8 字 段 Customers_id Email Grouid Regdate Lastvisit Money QQ msn 描 述 自动编号 用户名称 组名称 注册时间 最后登录时间 消费总金额 QQ联系方式 msn联系方式 类型和长度 Smallint(6) Varchar(30) Int(10) Int(10) Int(10) Decimal(15.2) Varchar(30) Varchar(30) 主 键 可 空 默认值 是 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 无 无 无 0 0 0 无 无 产品评论表主要是针对产品的评论信息,其中products_id就是产品的编号,date_add就是记录产品的添加时间,viewed是表示这条评论被浏览的次数。表结构如表3-3所示

18

表3-3 产品分类表(classes)结构

序 号 1 2 3 4 5 6 字 段 rid Email Products_id review Date_added viewed 描 述 自动编号 用户名称 产品 id 评论内容 添加时间 类型和长度 Mediumint(8) Varchar(30) Int(10) text Int(10) 主 键 是 否 否 否 否 否 可 空 否 否 否 否 否 否 默认值 无 无 无 0 0 0 被浏览次数 Mediumint(8) 产品的信息列表记录的是产品的基础信息,包括产品的价格、重量、名称、所属分类、详细描述等字段。表结构如表3-4所示

表3-4产品表(products)结构

序 号 1 2 3 4 5 字 段 Products_id Classes_id name model image 描 述 自动编号 分类编号 产品名称 产品单位 产品展示图片链接 类型和长度 Mediumint(8) Mediumint(8) Varchar(64) Varchar(64) Varchar(64) 主 键 可 空 默认值 是 否 否 否 否 否 否 否 否 否 无 无 无 无 无 6 7 8 9 price weight description manufacturer 产品价格 产品重量 产品描述 生产厂商 Decimal(15.2) Decimal(5.2) Text Varchar(64) 否 否 否 否 否 否 否 否 0 0 无 无 订单表主要记录的就是用户订单的详细信息,包括购买人、购买人的联系方式、产品的价格、邮寄方式等信息。由于每次用户可能会定购多种产品,所以订单将分成两个表来记录,一张用来记录联系信息,一张表用来记录联系信息和产品之间的关联。表结构如表3-5和表3-6所示

19

表3-5订单表联系信息(orders)结构

序 号 1 2 字 段 Order_id D_name 描 述 类型和长度 主 键 可 空 默认值 是 否 否 否 无 无 自动编号 Mediumint(8) 用户联系姓名 Varchar(100) 3 4 5 cid D_street_address D_tel_mobile 会员id Int(10) 否 否 否 否 否 否 无 无 无 会员地址 Varchar(100) 会员联系方式 Varchar(100) 6 7 Orders_status Shipping_method 订单状态 Varchar(100) 邮递方式 Int(10) 否 否 否 否 无 无 表3-6订单产品信息关联表(orders_products)结构

序 号 1 2 字 段 opid Orderd_id 描 述 自动编号 于orders表关联id 类型和长度 Mediumint(8) Int(10) 主 键 可 空 默认值 是 否 否 否 无 无 3 4 5 Products_id price Final_price 产品关联id 产品价格 最终价格 Int(10) Decimal(15.2) Decimal(15.2) 否 否 否 否 否 否 无 0 0 邮寄方式表主要是为计算邮寄费用产生的,不同的邮寄方式会带来不同的邮寄费用。表结构如表3-7所示

表3-7 邮寄方式表(shipping)结构

序 号 1 2 字 段 id Shippingname 描 述 自动编号 费用名称 类型和长度 Mediumint(8) varchar(200) 主 键 可 空 是 否 否 否 默认值 无 无 20

3

Fee 费用计算公式 Varchar(200) 否 否 无 管理组设置表是为了存储管理员的不同管理权限。表结构如表3-8所示

表3-8管理组设置表(Admingroups)结构

序 号 1 2 3 4 字 段 描 述 类型和长度 主 键 可 空 默认值 AdminGroupid Classes Grouptitle Allow_class_see 自动编号 Smallint(6) 类型 Varchar(30) 是 否 否 否 否 否 否 否 无 无 无 0 组名称 Varchar(30) 查看会员组 float 5 Allow_class_add 添加会员组 Int(10) 否 否 0 6 Allow_class_delete 删除会员组 Int(10) 否 否 0 7 8 9 Allow_product_see 查看商品 Int(10) 否 否 否 否 否 否 否 否 0 0 0 0 Allow_product_edit 编辑商品 Int(10) Allow_product_add 上传商品 Int(10) 10 Allow_product_delete 删除商品 Int(10) 管理员信息表主要是记录管理员的信息。表结构如表3-9所示

表3-9 管理员信息表(customers)结构

序 号 1 2 3 4 5 6 字 段 Admin_id name password admingroupsid createdate lastvisit 描 述 自动编号 名称 密码 管理组 创建时间 最后登录时间

类型和长度 Smallint(6) Varchar(30) Varchar(30) Varchar(30) Int(10) Int(10) 主 键 可 空 默认值 是 否 否 否 否 否 否 否 否 否 否 否 无 无 无 无 无 无

21

4系统详细设计

4.1系统设计

在系统总体设计阶段已经提到过本系统采用MVC体系架构,但MVC架构具体是怎么实现的呢?下面我将介绍系统的具体实现功能。 4.2 公共模块设计

结构合理的系统都是经过改良的,将共同的东西取出来放置到相同的地方供引用和调用时设计系统必须要做的工作。 4.2.1数据库公共模块

PHP中将创建数据库连接connection 独立出来做成公用的文件是最常用的做法,我将其命名为config.php,放置在include目录下。这个目录用来存储供整个系统公用的目录。当页面需要使用数据库连接时,只需要通过PHP的引用公用文件即可,这样不但避免了每个页面都编写数据连接,而且也能避免当数据连接发生变化时去修改每一个页面的麻烦。Db_mysql.php中使用了两种方式来获取与数据库连接:一种是获取已有的连接mysql_pconnect($dbuser,$dbpw),这样无须重复的建立连接,节约了资源:另外一种方式是mysql_connect($dbhost,$dbuser,$dbpw),这种方式是获取一个新的连接。在获取连接资源时,通常会传递3个参数,这里分别是$dbhost,$dbuser,$dbpw,代表的是带有端口号的主机地址,登录用户名和密码。

Config.php中的定义代码如下所示:

Define(‘DB_SERVER’,’localhost’);//数据库服务器 Define(‘DB_SERVER_USERNAME’,’root’);//数据库用户名 Define(‘DB_SERVER_PASSWORD’,’’);//数据库密码 Define(‘DB_DATABASE’,’shoopdb’);//数据库名 4.2.2 common.php和golbal.php单元

Common.php是公共函数的文件,将公共函数独立出来可以大大节约编程时间及编程量,也为后期维护带来很大方便。

Global文件是对全局变量的处理。

22

4.3产品模块设计 4.3.1产品类型设计

产品一般有大类和小类之分,多级栏目使用树结构来展示。可以单击编辑和删除来修改。分类列表如图4-1所示。

图4-1分类列表

分类编辑修改分类名称和是否在页面显示。如图4-2所示

图4-2分类修改列表

4.3.2产品添加设计

把产品作为一个类封装起来可方便对产品进行各种处理。Includes中的cla.products_p.php和cla.products.php文件就是对产品的封装。 首先,添加产品的基本信息,如图4-3所示。

23

图4-3 产品的基本信息添加

添加完产品的基本信息后单击提交按钮,系统会向服务器端提交产品的基本信息,之后就会自动转向详细信息添加页面;如果添加产品基本信息不成功,将转向错误显示页面。

完成提交后,程序会自动转向产品详细信息添加页面。该页面分为5个子页面。如图4-4所示

图4-4 详细信息添加页面

如添加错误可以修改如图4-5所示

24

图4-5商品分类修改页面

商品图片添加页面如图4-6所示

图4-6 商品图片添加页面

4.3.3产品信息查询

查询页面如图4-7所示,可以通过商品名称、状态、基本信息、详细说明来查找产品信息

图4-7 查询页面

25

图4-8 查询结果列表

4.4前台页面模块设计

这里主要涉及产品的前台展示和购物车的编码制作等。 4.4.1首页设计

作为在线购物系统,首要的任务是展示产品。除了展示产品,还可以加入其他元素来丰富页面。为了在有限的首页空间展示最吸引客户的信息,可把特价产品和新到产品的前5名展示在首页,如图4-9所示。

图4-9首页商品展示页面

在设置前台时,会把这些信息缓存起来,以方便再次调用此页面时不需要再次读取数据库,这样可以提高读取效率,也可以减轻服务器端的压力。Fun.common.php中的cacheexists($filename,$pam=‘’)函数就是用来验证是

26

否在硬盘中有缓存,如果没有,将生成缓存文件。Cacheeesxists($filename,$pam=‘’)的实现代码如下所示:

Function cacheexists($filename,$lpam=’’){ If($pam==’’){ $pam=$filename; } //

If(!file_exists(DIR_SHOOPD.”data/cache/cache_”.$filename.”.php”)){

Updataecache($pam); }

Return DIR_SHOOPD.”data/cache/cache_”.$filename.”.php”; }

4.4.2产品详细信息

用户在首页上看到感兴趣的产品后,对商品做进一步的了解。图4-10为商品的详细信息介绍:

图4-10 商品详细信息介绍

单击“您对此商品有话要说,您可以点击这里发表评论。”后就进入评论页面。可以看到URLhttp://127.0.0.1/dzsw/writerviems.php?products_id=23,

27

这里是把商品的编号传递到评论页面,找到评论商品的ID。客户端评论页面如图4-11:

图4-11 商品评论输入页面

评论提交后,首先判断消费者是否已经登录,如果用户已经登录,需要把评论信息和会员昵称关联起来。需对Email进行验证,使用的是正则表达式。

在添加评论之后返回商品展示页面,就可以看到针对商品的评论了,如图4-12所示:

图4-12 评论页面

4.4.3购物车设计

购物车的实现流程:购物清单(购物车)->收货/送货人地址->选择送货方式->选择付款方式->确认并提交订单。

购物车如图4-13所示,购物车模块有两个链接,进入购物车和点击结账。“进入购物车”主要是显示已经放入购物车的详细信息,而“点击结账”的页面就是结账页面。

28

图4-13购物车详细信息页面

4.4.4结账处理

单击购物车中的“结账”链接就可以进入结账页面。 4.4.5会员注册和登录页面设计

注册会员需要填入会员的基本信息,这里的注册名是消费者的Email地址,用这个作为用户登录名的好处是可以强制性的让用户输入一个Email,而且Email地址是不会重复的。获取Email地址后,就可以通过这个Email地址给消费者发送订单处理等信息。在注册会员之后还需要让用户填入详细信息。如图4-14

图4-14会员详细信息添加页面

将会员的详细信息和基本信息分开的好处是,用户在填入某信息出错时,只需要重复填入少量资料,避免了用户的麻烦。

输入收货人地址后就是选择发送方式。如图4-15所示:

29

图4-15送货方式选择页面

在中国,一般提供了3种送货方式,即中国邮政的EMS、国内快递和普通快递。这3种方式的送货费用不同,计算方法为:产品的总重量*每公斤运送价格+其他固定费用,图4-16中的运费就是这么计算出来的。

图4-16支付方式选择页面

4.4.6会员账户管理

顾客在购买产品后,需要对自己的产品进行跟踪,需要知道自己购买产品的状态,会员账户管理导航条如图4-17所示。

30

图4-17 会员账户管理导航条

4.5订单管理模块设计

订单分类,按照订单的状态分为:新订单、已审核订单、等待付款订单、部分付款订单、全部付款订单、已确认付款订单、取消订单等,如图4-18所示:

图4-18 订单设置导航条

31

4.6会员管理模块设计

会员管理模块是电子商务的最后一个模块。会员添加在前台已经完成,后台只需要一个浏览模块,如图4-19所示

图4-19 会员清单列表页面

还有一个会员组的选项,对于在线购物来说,打折时很有必要的,而打折方式是按照不同的会员组来设定的。如图4-20所示:

图4-20 会员设置页面

32

5 系统测试

5.1系统测试 5.1.1测试的目的

软件测试的目标和定义:

(1)测试是为了发现程序中的错误而执行程序的过程。

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。 (3)成功的测试是发现了至今为止尚未发现的错误的测试。

在对本网络书店销售管理系统测试时,也正是基于上述观点来进行的,测试的目的不是证明系统是完美的,而是发现问题,更好的解决问题,使系统不断完善,满足客户的需求。 5.1.2测试的准则

为了能设计出行之有效的测试方案,必须深入理解并正确运用指导软件测试的基本准则。下面列举主要的测试准则:

(1) 所有的测试都应该追溯到用户需求。 (2) 应该在开始测试之前就制定出测试计划。

(3) 把Pareto原理应用到软件测试中。Pareto原理说明,测试发现的错误中80%很可能是由程序中的20%模块造成的。

(4) 应该从“小模块”测试开始,并逐步进行“大模块”测试。 (5) 穷举测试是不可能的。

(6) 为了达到最佳的测试效果,应该由独立的第三方从事测试工作。 5.1.3测试的方法

测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能正常使用;如果知道了产品的内部工作过程,可以通过测试来检测产品内部动作是否按照说明书的规定正常工作。前一种称为黒盒测试又称功能测试,后一种方法称为白盒测试又称结构测试。

在测试本系统时,采用的是黑盒测试来设计测试用例,而且在测试过程中,由于条件原因,不能完全按照测试规则由第三方来测试,测试过程和方案设计由作者完成。

33

5.2单元测试实例

测试一:在管理员登陆时,用户名或密码有一项为空或者填写错误,系统是否出现预先设定的操作提示。

预期效果:输入错误及时报错。

具体操作:用户名、密码、任意一项为空或者填写有误。 结果:都出现相应的错误原因的信息提示。

结论:要求管理员必须填写正确的用户名和密码,才能进入管理页面,测试成功。

测试二:发布产品或修改本站的公告﹑返回前台,看其是否更新成功。 预期效果:发布和修改过后能及时更新内容。

具体操作:通过管理页面发布产品功能发布产品,修改公告功能修改公告的内容,看其是否发布修改成功。

结果:显示发布的新产品,公告内容更新为修改后的信息。 结论:发布产品,修改公告功能正常,测试成功。

测试三:顾客浏览商品放入购物车后结账,如不登录能否提交订单。 预期效果:该用户不能提交订单。 具体操作:前台顾客不登录提交订单。 结果:该订单无法提交,转入登录页面。 结论:购物车功能完善,测试成功。

测试四:顾客注册为新会员,注册号重复,密码没有6位。 预期效果:注册失败,提示错误。 具体操作:注册号重复,密码设为5位。 结果:提示注册号已存在,密码至少6位。 结论:顾客注册功能正常,测试成功。 测试五:发货失败,取消订单。

预期效果:顾客账户页面订单取消,已付款退回。 具体操作:在后台订单管理页面取消一已付款订单。 结果:前台会员账户页面显示订单取消,余额增加。 结论:订单功能正常,测试成功。

34

本文来源:https://www.bwwdw.com/article/i2x7.html

Top