网上商城网站的设计与实现(基于php的)毕业论文

更新时间:2024-01-14 08:06:01 阅读量: 教育文库 文档下载

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

(此文档为word格式,下载后您可任意编辑修改!)

网上商城网站的设计与实现

内容摘要:本课题主要基于电子商务的基本原理,运用PHP开发技术搭建一个动态的网上商城的电子商务网站。它是在Windows系统环境下,以Mysql数据库开发平台,Apache网络信息服务器,采用PHP(Hypertext Preprocessor)技术开发的网上购物系统。本系统分为前台与后台两部分组成,前台主要针对消费者,主要包括商品展示、会员注册、购物车管理、商品收藏管理、订单管理等功能模块;后台由管理员使用,主要包括商品管理、进货管理、订单管理、系统管理等功能模块。通过这些功能的实现,给商家提供一个动态、交互式、具有商品提供、系统管理等功能的电子商务平台。

关键字:电子商务,网络购物,数据库开发,PHP开发技术

I 第一章 绪论

1.1 电子商务概述

电子商务是伴随着信息经济的高速发展而产生的一个较新的概念,是一种新

型的商业运营模式。可以概括为:电子商务=Web(服务器)+IT(信息技术)+企业业务。发展电子商务是不可阻挡的趋势,已逐渐成为企业、商家们不可或缺的营销手段。本系统属于典型的企业与消费者之间 (B2C)类型的电子商务系统。

1.2 Web服务器平台与Web平台的动态设计技术

目前流行三种最常用的Web服务器平台是:基于Apache HTTP Server的服务器平台、基于网景的NES的服务器平台、基于微软的IIS的服务器平台。Apache HTTP Server可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将PerlPython等解释器编译到服务器中。而且PHP与Apache HTTP Server搭配,是业界公认的黄金组合,因此本系统便是采用Apache HTTP Server服务器平台。

当前比较流行的Web开发技术有: ASP, PHP,JSP,ASP.NET等。ASP在国内比较流行,但是由于ASP的跨平台能力差,而且安全性不好;JSP在国际上比较流行,适合开发一些企业级电子商务系统,但由于其在技术上和成本上要求都比较高,现在在国内运用的还比较少;ASP.NET是Microsoft .NET Framework中的一组用于构建Web应用程序和XML Web Service的技术平台,有一定的复杂性;而PHP 是秉承Linux 的GNU 风格,借助与源码公开,使他迅速成为世界上目前应用最为广泛的站点制作语言之一。加上它和Linux,Apache 和MySql 的紧密配合,用PHP编写的代码执行起来会更快、更稳定。用PHP编写的代码,不用改变就可以在不同的WEB服务器上、不同的操作系统下运行。相比之下,我们选择了PHP语言来开发本系统。

1.3 Web平台系统的开发方法

在探讨电子商务的基本原理以及WEB相关开发技术的基础上,我们以软件工程方法完成了网上商城系统的开发。开发过程中所做的工作包括:整个系统的需求分析、系统设计和所有模块的具体实现、系统测试等。

2.1 开发背景与开发意义 2.1.1 开发背景

21世纪的今天,网络在人们生活中已经日益盛行,越来越多人已经离不开网络。人们已经不再满足于了解最新信息、查找资料等一些传统的网络使用方式,而是过渡到娱乐、购物等新兴的网民生活。网上购物,成了当今广大群众的时尚。而商家,也逐渐重视起网络的作用,充分利用起网络的低成本、高效性来宣传企业形象和销售商品。因此,为了方便广大群众,满足商家的需求,我们专门构建网上商城系统。 2.1.2 系统开发的意义

长期以来,大部分的销售活动,都是面对面的销售,如:店铺销售、广交会、上门推销等。这些销售活动,都会受到地域、时间、环境等方面的影响,从而给企业、公司等的销售管理带来极大的不便。而且信息的人工管理,也存在诸多缺点。而网上商城,正好能全面解决这样的问题。产品生产-销售-客户订单管理系统软件为企业、公司等的销售管理带来了极大的方便。产品生产-销售-客户订单管理系统能够为用户提供可靠的信息储存和快捷的信息处理手段。作为计算机应用的一部分,使用计算机对企业、公司的产品销售信息进行管理,具有手工管理所无法比拟的优点。因此,开发这样一套管理系统成为很有必要的事情,它能够具体化、合理化的管理单位的销售信息情况,用结构化的思维方式去了解计算机的工作原理。

第二章 系统分析

2.2 可行性分析 2.2.1 技术可行性分析

本系统采用PHP+Mysql+Apache进行开发,其中前台用HTML嵌入PHP进行页面开发和管理用户界面,提示信息完善,界面友好有亲和力;后台采用Mysql数据库开发和管理数据库,部分关键内容采用事务处理机制,具有很强的错误处理能力。本系统的开发环境使用现在特别流行的开源Apache服务器,使用方便、运行稳定、安全可靠。PHP+Mysql+Apache这个国际公认的网站开发黄金组合,在电子商务系统开发上,得到广泛的应用。如易趣网、百度有啊、ecshop等大型电子商务网站。综上所述,本系统在技术方面是可行的。 2.2.2 操作可行性分析

本系统采用BS架构,对销售信息进行网上管理,操作简单易懂,对用户来说不需要高深的计算机专业知识,只要管理员能够懂得使用网络,就可以对商城进行使用和维护。 2.2.3 经济可行性分析

由于本系统属于模拟的网上商城系统,整个系统并不算太大,因此开发成本不算太高。整个开发过程由两个人参与,只需要两台PC机和上述的各种软件,就可以实现全部的开发任务。由于PC机是我们各自原有的,而且无需专门升级硬件;而各种软件,又是能够在网上免费下载的,因此,整个开发成本可以说是非常的低廉,这也为我们以后进一步完善网站提供了非常大的方便。在使用成本上,用户只需要拥有一台能够连接到国际互联网上的计算机,通过注册就可以在世界的任何一个角落使用网站的全部功能和服务。而且对计算机的硬件的需求也不是很高,软件方面也没有特殊的需求,易于广大用的访问与使用。因此,从经济可行性分析来看,这个网站体现了经济实惠,但是功能强大的特点。

2.3 需求分析 2.3.1 初步调查

本次调查主要是由我们两个同学一起通过亲身体验现在各大 B2C 网站的购物流程,如卓越网、百度有啊、淘宝网、京东商城等等,熟悉其实现购物的方式,了解其管理的运作方式和管理业务流程,分析现在 B2C 网上商城的基本运行情况和不足并探讨其需求。同时,参考了相关网站的调查分析报告等。 2.3.2 用户需求分析

随着互联网的高速发展,Web应用技术也得到了迅速提高。电子商务平台便是基于这些互联技术发展起来的。而基于 BS体系结构的网上购物系统正是电子商务的典型,系统简单却功能强大。

由于客户端-服务器(CS)应用程序可维护性差,而且对客户端计算机要求功能必须相当强大。为了解决这个缺点,浏览器-服务器(BS)应用程序应运而生。客户端只要求安装有浏览器,就可以与服务器连接,运行整个应用程序。与此同时,由于服务端与客户端分离,应用程序的版本不管如何更新,都只会在服务器端进行,这样客户端可以节省大量资源和时间。近年来,BS结构越来越受到企业和公司等的喜爱和重用,选择BS结构是当前电子商务系统开发的明智之举,能充分适应市场的需求。本系统便是采用BS结构进行开发的。

2.3.3 购物流程图

网上购物系统网站访问者网站管理员否浏览选择商品登录是进行商品管理、订单管理、会员管理、文章管理、系统管理等会员是填写订单否注册浏览挑选商品修改订单否确认订单是添加删除商品生成订单配送发货

图2-1 购物流程图

2.3.4 数据流图

由于原始的数据流程图存在操作的重复性和流程的不合理性,经过我们两个人的讨论,再根据网上商城系统的购物流程,我们采用从总体到局部、逐步细化的办法,绘制出如下的数据流图: 第一层:

图2-2网上商城顶层数据流图

第二层:

P0

图2-3网上商城第二层数据流图

第三层:

P1

P2.1 P2.2 P2.3

图2-4网上商城第三层用户管理数据流图

P3

P3.1

图2-4网上商城第三层购物车管理数据流图

P2

P1.1 P1.2

图2-4网上商城第三层个人账户管理数据流图

P4

P3.1 P3.2

图2-4网上商城第三层订单管理数据流图

2.3.5数据字典

(1) 关键部分数据项(由于篇幅有限,这里仅对部分数据项进行描述)

(2) 数据流描述

(3) 数据存储

3.1 总体方案设计 3.1.1 系统目标

(1)提高公司企业用户的经营管理效率,减少管理工作上的重复操作等。 (2)简化操作过程,提高资源的共享能力,增进查询速度。 3.1.2 划分子系统

此基于电子商务理论与PHP技术的网上商城购物系统,分前台功能和后台管理功能:

(1)前台部分由用户使用,主要包括用户管理(用户登录、注册),商品

浏览、购物车管理,个人账户管理。

(2)后台部分由管理员使用,主要包括管理员身份验证,商品管理,订单

管理,会员管理,系统管理。

第三章 概要设计

3.1.3 系统结构总体设计

图 3-1系统功能结构图

3.1.4 系统运行环境要求

(1)硬件环境要求:

①1 GHz以上处理器。

②Microsft Windows 支持的VGA 或分辨率更高的监视器。 ③512MB内存以上。

(2)软件环境要求:本系统是在Microsft Windows XP平台下开发的,所采用的开发语言是PHP,后台采用了MySQL Server 5.0数据库,服务器用Apache。这样的黄金组合,大大的提高了数据处理的速度。

①操作系统:Windows XP 系列 ②数据库:MySQL5.0

(3)语言种类:简体中文版

(4)显示参数:分辨率:1024×768;色彩:256 色以上 3.2 数据库设计

3.2.1 数据库概念结构设计

(1) 系统主要功能模块E-R 图

图3-3 实体和实体之间的关系E-R图

注:实体集的属性已经部分省略 (2)部分相关数据表

表3-2管理员信息表(olm_admin)

字段名称 管理员id 管理员名称 管理员email 管理员密码 注册时间 最新登录时间 最新登录ip

表3-3商品品牌信息表(olm_ brand)

字段名称 品牌id 品牌名称 品牌logo id name logo 代码 数据类型 int(7) varchar(50) varchar(80) 是否为空 not null not null not null id username email password add_time last_login last_ip 代码 数据类型 smallint(5) varchar(60) varchar(60) varchar(255) varchar(15) varchar(20) varchar(11) 是否为空 not null not null not null not null not null not null not null

备注 链接路径 顺序 是否显示

notes url sort is_show text varchar(255) tinyint(3) tinyint(1) not null not null not null not null 表3-4购物车信息表(olm_cart)

字段名称 购物车id 用户登录id id login_id 代码 数据类型 mediumint(8) int(11) varchar(32) 是否为空 not null not null not null 用户session session_id id 商品id 商品编号 商品名称 单件运费 加件运费 商品质量 市场价格 商城价格 商品数量

goods_id goods_sn goods_name freight addfreight goods_weight market_price mall_price goods_num mediumint(8) int(11) varchar(120) decimal(10,0) decimal(10,0) decimal(10,0) decimal(10,2) decimal(10,2) smallint(5) not null not null not null not null not null not null not null not null not null 表3-5收藏夹信息表(olm_collect_goods)

字段名称 收藏夹id 用户登录id 商品id id login_id goods_id 代码 数据类型 mediumint(8) mediumint(8) mediumint(8) 是否为空 not null not null not null

添加时间

add_time datetime not null 表3-7商品信息表(olm_goods)

字段名称 商品id 编号 名称 商品信息标题 商品类别id 商品品牌id 商品分类id 库存 库存警告数量 已售数量 商品质量 商品单位 进货价 市场价 商城价 活动价格 活动开始时间 活动结束时间 单件运费 加件运费 图片名称 id goods_sn goods_name goods_title type_id brand_id cat_id goods_num warn_num sold_num goods_weight unit purchase_price market_price mall_price promote_price mediumint(10) int(10) varchar(120) varchar(300) smallint(5) int(7) smallint(7) int(11) smallint(3) int(11) decimal(10,3) varchar(10) decimal(10,2) decimal(10,2) decimal(10,2) decimal(10,2) not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null 代码 数据类型 是否为空 promote_start_date datetime promote_end_date freight addfreight img_name datetime decimal(10,2) decimal(10,2) varchar(100)

小图路径 大图路径 原图路径 是否上架 添加时间 更新时间 排序 精品推荐 新品上架 热门商品 特价商品 备注

small_img big_img original_img is_on_sale add_time up_date sort is_best is_new is_hot is_special notes varchar(255) varchar(255) varchar(255) tinyint(1) datetime datetime smallint(4) tinyint(1) tinyint(1) tinyint(1) tinyint(1) longtext not null not null not null not null not null not null not null not null not null not null not null not null 表3-8商品分类信息表(olm_goods_cat)

字段名称 分类id 分类名称 类型id 父类id 备注 顺序 是否显示导航 是否显示

表3-9商品类型信息表(olm_goods_type)

字段名称 代码 数据类型 是否为空 id name type_id parent_id notes sort in_nav is_show 代码 数据类型 smallint(5) varchar(50) smallint(5) smallint(5) varchar(300) smallint(4) tinyint(1) tinyint(1) 是否为空 not null not null not null not null not null not null not null

类型id 类型名称 是否激活

id name enabled smallint(5) varchar(50) tinyint(1) not null not null not null 表3-10订单信息表(olm_order)

字段名称 订单id 用户登录id 收件人地址id 付款方式 配送方式 总价格 下单时间

表3-11订单动作信息表(olm_order_action)

字段名称 订单活动id 订单id 支付状态 配送状态 订单完成状态 登录时间 备注

表3-12订单商品信息表olm_order_goods)

字段名称 代码 数据类型 是否为空 id order_id pay_status shipping_status order_status log_time notes 代码 数据类型 mediumint(8) mediumint(8) tinyint(1) tinyint(1) tinyint(1) datetime varchar(255) 是否为空 not null not null not null not null not null not null not null id login_id address_id payment shipping total time 代码 数据类型 int(11) int(11) int(11) varchar(50) varchar(50) int(11) datetime 是否为空 not null not null not null not null not null not null not null

订单商品id 订单id 商品id 商品名称 商品价格 商品数量 商品质量 id order_id goods_id goods_name goods_price goods_num goods_weight int(11) int(11) int(11) varchar(300) decimal(11,0) int(7) decimal(11,0) not null not null not null not null not null not null not null 表3-15用户登录信息表(olm_user_login)

字段名称 用户登录id 用户登录名称 用户email 密码 登录时间 激活状态

3.2.3 连接数据库

在本系统充分发挥PHP5.0支持面向对象编程的特性,将常用的函数封装在一个类里面。比如由于需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中对数据库连接的部分写成了一个 PHP 文件。文件名为db.inc.php,有需要连接数据库的文件包含这个文件就可以了(关键代码请看附录一)。为了方便,我们专门做了一个数据库的配置文件config.inc.php,用来管理数据库的连接信息,

数据表的一些常用操作,如数据添加、查询、删除、更新等,由于使用特别频繁,我们也将它特地装到Goods.inc.php文件里面。同时,我们还将一些专门针对某些数据表的操作函数,也封装在这个文件中。后面将直接调用这些函数,由于篇幅有限,不再做具体的介绍(部分关键代码请看附录二)。

代码 login_id login_name login_email login_pwd login_time login_is_active 数据类型 int(10) varchar(30) varchar(100) varchar(32) datetime smallint(1) 是否为空 not null not null not null not null not null not null

4.1 前台设计 4.1.1前台总框架

第四章 详细设计

网站前台部分主要提供给用户使用,是系统对外的窗口。主要包括用户注册、登录,商品浏览,购物车管理,个人账户管理等几个部分。由于篇幅有限,本文只对部分模块的实现进行描述。

(1) 模块功能介绍

用户管理:注册新用户、登录、修改用户个人资料。

商品浏览:在商品的显示介绍页面,可以收藏商品或者加入购物车。 购物车 :添加产品到购物车、购物车信息修改、下订单。 订单模块:查询个人订单列表、查询某笔订单的详细信息。 个人账户:订单查询,对收藏夹、地址的管理。 (2) 前台文件构架

图4- 1前台文件结构图

4.1.2 用户管理模块

(1) 新用户注册 (2)用户登录

用户登录页面主要用来接收用户输入的用户名和密码,并更新用户在网站中的状态信息。 4.1.3 商品浏览

用户在商品显示页面(goods.php)对具体商品进行详细了解,并在商品显示页面对商品进行收藏或者加入购物车,已注册的会员还可以对商品进行咨询或者评论等。 4.1.4 购物车模块

用户在浏览商品时,如果对想购买的商品,可以点击“收藏”把商品加入收藏夹;也可以点击“购买”把商品放入购物车,此时页面便自动跳转到购物车列表,

(3)生成订单

如果用户对商品满意,并修改好购物车的商品数量后点击“去结算”,便跳转到订单信息确认与填写页面,

(4)订单提交成功页面 4.2 后台部分 4.2.1 后台总体框架

后台是前台功能实现的基础,只能 由管理员进行使用与维护。主要包括管理员身份验证,商品管理模块,订单管理模块,会员管理模块,系统管理模块组成。后台功能介绍:

(1)功能模块介绍

管理员身份验证:为合法用户提供一个后台入口。

订单管理模块:网站管理者对用户订单的执行和编辑状态。

商品管理模块:增加商品的品牌或商品的种类;向商品表插入前台首页展示

的商品信息。

会员管理模块:查询所有注册用户,对一些非法或失信用户进行删除操作。 系统管理模块:管理员向前台首页添加友情链接信息。

(3) 后台文件结构

图 4-10 后台文件结构图

4.2.2 管理员登录

在地址栏中输入后台登录地址,将转到管理员登录页面。该页面的功能是对管理员身份验证,用户输入用户名和 密码后单击“登录”按键,系统将判断用户名和密码的有效性,如果通过验证则转到后台首页,反之则提示错误。管理员登录页面的运行 结果下图所示: 4.2.3 订单管理

在订单管理下,可以处理订单的状态,分为未付款订单、配货中订单、已发货订单、已完成订单,管理员根据接收到的用户信息处理订单状态 4.2.4 商品管理 (1)添加商品

单击导航区的“添加商品”超链接,系统将打开添加商品页面,该页面主要用于将商品信息添加到数据库表中,以提供前台商品展示。

由于前台展示商品时,包括小图,中图和大图三种格式,因此我们做了一个

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

Top