资源描述
暨南大学教育学院
学 生 毕 业 论 文
题 目 : 电子商务网站的设计与实现——电脑商城
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作 者 签 名: 日 期:
指导教师签名: 日 期:
使用授权说明
本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名: 日 期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。
作者签名: 日期: 年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名: 日期: 年 月 日
导师签名: 日期: 年 月 日
诚 信 声 明
我声明,所呈交的毕业论文是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得其他教育机构的学位或证书而使用过的材料。我承诺,论文中的所有内容均真实、可信。
毕业论文作者签名: 林习深 签名日期:2011年 10月 10 日
摘要
内容摘要:本课题主要基于电子商务的基本原理,运用PHP开发技术搭建一个动态的网上商城的电子商务网站。它是在Windows系统环境下,以Mysql数据库开发平台,Apache网络信息服务器,采用PHP(Hypertext Preprocessor)技术开发的网上购物系统。本系统分为前台与后台两部分组成,前台主要针对消费者,主要包括商品展示、会员注册、购物车管理、商品收藏管理、订单管理等功能模块;后台由管理员使用,主要包括商品管理、进货管理、订单管理、系统管理等功能模块。通过这些功能的实现,给商家提供一个动态、交互式、具有商品提供、系统管理等功能的电子商务平台。
关键字:电子商务,网络购物,数据库开发,PHP开发技术
Abstract : This issue is mainly based on the keystone of e-commerce, using PHP development technologies which build a dynamic e-commerce web site. It is the online shopping system, in the Windows system environment,based on the Mysql database development and Apache Internet Information Server by the PHP development technologies. The system is divided into two parts :front and back. Front part is for the consumers,mainly including product display, member registration, shopping cart management, product collection management, order management modules,etc; back part is used by the administrator, including merchandise management, purchase management, order management, system management,etc. The implementation of these functions provides a dynamic and interactive e-commerce platform with the functions of providing products and system management.
Key words: e-commerce; online shopping; database development;PHP
目 录
第一章 绪论 1
1.1 电子商务概述 1
1.2 Web服务器平台与Web平台的动态设计技术 1
1.3 Web平台系统的开发方法 1
第二章 系统分析 2
2.1 开发背景与开发意义 2
2.1.1 开发背景 2
2.1.2 系统开发的意义 2
2.2 可行性分析 2
2.2.1 技术可行性分析 2
2.2.2 操作可行性分析 3
2.2.3 经济可行性分析 3
2.3 需求分析 3
2.3.1 初步调查 3
2.3.2 用户需求分析 3
2.3.3 购物流程图 4
2.3.4 数据流程图 5
第三章 概要设计 8
3.1 总体方案设计 8
3.1.1 系统目标 8
3.1.2 划分子系统 8
3.1.3 系统结构总体设计 8
3.1.4 系统运行环境要求 9
3.2 数据库设计 10
3.2.1 数据库概念结构设计 10
第四章 详细设计 16
4.1 前台设计 16
4.1.1前台总框架 16
4.1.2 用户管理模块 18
4.1.3 商品浏览 19
4.1.4 购物车模块 20
4.2 后台部分 23
4.2.1 后台总体框架 23
4.2.2 管理员登录 24
4.2.3 订单管理 25
4.2.4 商品管理 25
4.2.5 系统管理 27
第五章 系统测试 29
第六章 总结 29
参考文献 30
VI
第一章 绪论
1.1 电子商务概述
电子商务是伴随着信息经济的高速发展而产生的一个较新的概念,是一种新型的商业运营模式。可以概括为:电子商务=Web(服务器)+IT(信息技术)+企业业务。发展电子商务是不可阻挡的趋势,已逐渐成为企业、商家们不可或缺的营销手段。本系统属于典型的企业与消费者之间 (B2C)类型的电子商务系统。
1.2 Web服务器平台与Web平台的动态设计技术
目前流行三种最常用的Web服务器平台是:基于Apache HTTP Server的服务器平台、基于网景的NES的服务器平台、基于微软的IIS的服务器平台。Apache HTTP Server可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。而且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 操作可行性分析
本系统采用B/S架构,对销售信息进行网上管理,操作简单易懂,对用户来说不需要高深的计算机专业知识,只要管理员能够懂得使用网络,就可以对商城进行使用和维护。
2.2.3 经济可行性分析
由于本系统属于模拟的网上商城系统,整个系统并不算太大,因此开发成本不算太高。整个开发过程由两个人参与,只需要两台PC机和上述的各种软件,就可以实现全部的开发任务。由于PC机是我们各自原有的,而且无需专门升级硬件;而各种软件,又是能够在网上免费下载的,因此,整个开发成本可以说是非常的低廉,这也为我们以后进一步完善网站提供了非常大的方便。在使用成本上,用户只需要拥有一台能够连接到国际互联网上的计算机,通过注册就可以在世界的任何一个角落使用网站的全部功能和服务。而且对计算机的硬件的需求也不是很高,软件方面也没有特殊的需求,易于广大用的访问与使用。因此,从经济可行性分析来看,这个网站体现了经济实惠,但是功能强大的特点。
2.3 需求分析
2.3.1 初步调查
本次调查主要是由我们两个同学一起通过亲身体验现在各大 B2C 网站的购物流程,如卓越网、百度有啊、淘宝网、京东商城等等,熟悉其实现购物的方式,了解其管理的运作方式和管理业务流程,分析现在 B2C 网上商城的基本运行情况和不足并探讨其需求。同时,参考了相关网站的调查分析报告等。
2.3.2 用户需求分析
随着互联网的高速发展,Web应用技术也得到了迅速提高。电子商务平台便是基于这些互联技术发展起来的。而基于 B/S体系结构的网上购物系统正是电子商务的典型,系统简单却功能强大。
由于客户端-服务器(C/S)应用程序可维护性差,而且对客户端计算机要求功能必须相当强大。为了解决这个缺点,浏览器-服务器(B/S)应用程序应运而生。客户端只要求安装有浏览器,就可以与服务器连接,运行整个应用程序。与此同时,由于服务端与客户端分离,应用程序的版本不管如何更新,都只会在服务器端进行,这样客户端可以节省大量资源和时间。近年来,B/S结构越来越受到企业和公司等的喜爱和重用,选择B/S结构是当前电子商务系统开发的明智之举,能充分适应市场的需求。本系统便是采用B/S结构进行开发的。
2.3.3 购物流程图,如图2-1所示
图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网上商城第三层订单管理数据流图
第三章 设计概要
3.1 总体方案设计
3.1.1 系统目标
(1)提高公司企业用户的经营管理效率,减少管理工作上的重复操作等。
(2)简化操作过程,提高资源的共享能力,增进查询速度。
3.1.2 划分子系统
此基于电子商务理论与PHP技术的网上商城购物系统,分前台功能和后台管理功能:
(1)前台部分由用户使用,主要包括用户管理(用户登录、注册),商品浏览、购物车管理,个人账户管理。
(2)后台部分由管理员使用,主要包括管理员身份验证,商品管理,订单管理,会员管理,系统管理。
3.1.3 系统结构总体设计,如图3-1所示
图 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所示
m
n
m
用户
送货方式
发货
商品
订购
商品名称
商品ID
商品价格
用户ID
用户名
密码
n
n n
1
n n
管理员
短信息
公告
发布
密码
用户名
标题
时间
内容
内容
发送
1
图3-3 实体和实体之间的关系E-R图
注:实体集的属性已经部分省略
(2)部分相关数据表[1]
表3-2管理员信息表(olm_admin)
字段名称
代码
数据类型
是否为空
管理员id
id
smallint(5)
not null
管理员名称
username
varchar(60)
not null
管理员email
email
varchar(60)
not null
管理员密码
password
varchar(255)
not null
注册时间
add_time
varchar(15)
not null
最新登录时间
last_login
varchar(20)
not null
最新登录ip
last_ip
varchar(11)
not null
表3-3商品品牌信息表(olm_ brand)
字段名称
代码
数据类型
是否为空
品牌id
id
int(7)
not null
品牌名称
name
varchar(50)
not null
品牌logo
logo
varchar(80)
not null
备注
notes
text
not null
链接路径
url
varchar(255)
not null
顺序
sort
tinyint(3)
not null
是否显示
is_show
tinyint(1)
not null
表3-4购物车信息表(olm_cart)
字段名称
代码
数据类型
是否为空
购物车id
id
mediumint(8)
not null
用户登录id
login_id
int(11)
not null
用户session id
session_id
varchar(32)
not null
商品id
goods_id
mediumint(8)
not null
商品编号
goods_sn
int(11)
not null
商品名称
goods_name
varchar(120)
not null
单件运费
freight
decimal(10,0)
not null
加件运费
addfreight
decimal(10,0)
not null
商品质量
goods_weight
decimal(10,0)
not null
市场价格
market_price
decimal(10,2)
not null
商城价格
mall_price
decimal(10,2)
not null
商品数量
goods_num
smallint(5)
not null
表3-5收藏夹信息表(olm_collect_goods)
字段名称
代码
数据类型
是否为空
收藏夹id
id
mediumint(8)
not null
用户登录id
login_id
mediumint(8)
not null
商品id
goods_id
mediumint(8)
not null
添加时间
add_time
datetime
not null
表3-7商品信息表(olm_goods)
字段名称
代码
数据类型
是否为空
商品id
id
mediumint(10)
not null
编号
goods_sn
int(10)
not null
名称
goods_name
varchar(120)
not null
商品信息标题
goods_title
varchar(300)
not null
商品类别id
type_id
smallint(5)
not null
商品品牌id
brand_id
int(7)
not null
商品分类id
cat_id
smallint(7)
not null
库存
goods_num
int(11)
not null
库存警告数量
warn_num
smallint(3)
not null
已售数量
sold_num
int(11)
not null
商品质量
goods_weight
decimal(10,3)
not null
商品单位
unit
varchar(10)
not null
进货价
purchase_price
decimal(10,2)
not null
市场价
market_price
decimal(10,2)
not null
商城价
mall_price
decimal(10,2)
not null
活动价格
promote_price
decimal(10,2)
not null
活动开始时间
promote_start_date
datetime
not null
活动结束时间
promote_end_date
datetime
not null
单件运费
freight
decimal(10,2)
not null
加件运费
addfreight
decimal(10,2)
not null
图片名称
img_name
varchar(100)
not null
小图路径
small_img
varchar(255)
not null
大图路径
big_img
varchar(255)
not null
原图路径
original_img
varchar(255)
not null
是否上架
is_on_sale
tinyint(1)
not null
添加时间
add_time
datetime
not null
更新时间
up_date
datetime
not null
排序
sort
smallint(4)
not null
精品推荐
is_best
tinyint(1)
not null
新品上架
is_new
tinyint(1)
not null
热门商品
is_hot
tinyint(1)
not null
特价商品
is_special
tinyint(1)
not null
备注
notes
longtext
not null
表3-8商品分类信息表(olm_goods_cat)
字段名称
代码
数据类型
是否为空
分类id
id
smallint(5)
not null
分类名称
name
varchar(50)
not null
类型id
type_id
smallint(5)
not null
父类id
parent_id
smallint(5)
not null
备注
notes
varchar(300)
not null
顺序
sort
smallint(4)
not null
是否显示导航
in_nav
tinyint(1)
是否显示
is_show
tinyint(1)
not null
表3-9商品类型信息表(olm_goods_type)
字段名称
代码
数据类型
是否为空
类型id
id
smallint(5)
not null
类型名称
name
varchar(50)
not null
是否激活
enabled
tinyint(1)
not null
表3-10订单信息表(olm_order)
字段名称
代码
数据类型
是否为空
订单id
id
int(11)
not null
用户登录id
login_id
int(11)
not null
收件人地址id
address_id
int(11)
not null
付款方式
payment
varchar(50)
not null
配送方式
shipping
varchar(50)
not null
总价格
total
int(11)
not null
下单时间
time
datetime
not null
表3-11订单动作信息表(olm_order_action)
字段名称
代码
数据类型
是否为空
订单活动id
id
mediumint(8)
not null
订单id
order_id
mediumint(8)
not null
支付状态
pay_status
tinyint(1)
not null
配送状态
shipping_status
tinyint(1)
not null
订单完成状态
order_status
tinyint(1)
not null
登录时间
log_time
datetime
not null
备注
notes
varchar(255)
not null
表3-12订单商品信息表olm_order_goods)
字段名称
代码
数据类型
是否为空
订单商品id
id
int(11)
not null
订单id
order_id
int(11)
not null
商品id
goods_id
int(11)
not null
商品名称
goods_name
varchar(300)
not null
商品价格
goods_price
decimal(11,0)
not null
商品数量
goods_num
int(7)
not null
商品质量
goods_weight
decimal(11,0)
not null
表3-15用户登录信息表(olm_user_login)
字段名称
代码
数据类型
是否为空
用户登录id
login_id
int(10)
not null
用户登录名称
login_name
varchar(30)
not null
用户email
login_email
varchar(100)
not null
密码
login_pwd
varchar(32)
not null
登录时间
login_time
datetime
not null
激活状态
login_is_active
smallint(1)
not null
第四章 详细设计
4.1 前台设计
4.1.1前台总框架
网站前台部分主要提供给用户使用,是系统对外的窗口。主要包括用户注册、登录,商品浏览,购物车管理,个人账户管理等几个部分,如图4-1所示。
(1) 模块功能介绍
用户管理:注册新用户、登录、修改用户个人资料。
商品浏览:在商品的显示介绍页面,可以收藏商品或者加入购物车。
购物车 :添加产品到购物车、购物车信息修改、下订单。
订单模块:查询个人订单列表、查询某笔订单的详细信息。
个人账户:订单查询,对收藏夹、地址的管理。
(2) 前台文件构架
图4-1前台文件结构图
(3) 前台网站运行结果,如图4-2所示
(4)
图4-2购物网站首页
4.1.2 用户管理模块
(1)新用户注册
要购买商品,需要先注册成为用户,如图4-3所示:
图4-3 注册新用户
部分关键代码如下[3]:
if($_POST['reg']){
if($_POST['login_name']==''||$_POST['login_email']==''){
warn("用户名或Email不能为空。","register.php");
}elseif($_POST['login_pwd']==''||$_POST['checked_pwd']==''){
warn("密码或确认密码不能为空。","register.php");
}
if($_POST['login_pwd']!=$_POST['checked_pwd']){
warn("密码与确认密码不相同。","register.php");
}
if(!$_POST['license']){
warn("请预读并接受《用户协议》。","register.php");
}
$data['login_name'] = $_POST['login_name'];
$data['login_email'] = $_POST['login_email'];
$data['login_pwd'] = $_POST['login_pwd'];
$info = $user->insertData($name,$data);
if($info!=false){
warn("会员注册成功!","member.php");
$_SESSION['login_name']=$_POST['login_name'];
}else{
warn("会员注册失败!","register.php");
}
}
(2)用户登录
用户登录页面主要用来接收用户输入的用户名和密码,并更新用户在网站中的状态信息。会员登录窗口的运行结果,如图4-4所示。
图4-4 用户登录
if($_POST['log']){
if($_POST['username']==''||$_POST['pwd']=='')
{
warn("用户名或密码不能为空。","login.php");
}else{
$login_name =$_POST['username'];
$login_pwd =$_POST['pwd'];
$where="where login_name='$login_name' and login_pwd='$login_pwd'";
$info=$user->getList($name,$where);
if(($info[0]['login_name']=='') &&( $info[0]['login_pwd'])=='')
{
warn("用户名或密码有误。","login.php");
}else{
$_SESSION['login_id'] =$info[0]['login_id'];
$_SESSION['login_name'] =$info[0]['login_name'];
warn("登录成功。",$url);
}
}
4.1.3 商品浏览
用户在商品显示页面(goods.php)对具体商品进行详细了解,并在商品显示页面对商品进行收藏或者加入购物车,已注册的会员还可以对商品进行咨询或者评论等,如图4-5所示。
图4-5 商品显示页面
关键部分代码如下:
$goods = new Goods();
$id = $_GET['id']; //获取传递过来的参数商品id
$tbname = $goods->_goods;
$info = $goods->getInfo($tbname,$id);
4.1.4 购物车模块
用户在浏览商品时,如果对想购买的商品,可以点击“收藏”把商品加入收藏夹;也可以点击“购买”把商品放入购物车,此时页面便自动跳转到购物车列表,如图4-6,4-7所示:
图4-6收藏夹
图4-7购物车
部分代码如下:
$where = " WHERE session_id='".$_SESSION['session_id']."' AND goods_id=$goods_id";
$oldinfo = $cart->getList($cartname,$where);
if($oldinfo[0]['id']==''){
//获取商品信息
$data['login_id'] = 0;
$data['goods_id'] = $info['id'];
……(省略部分代码)
$data['goods_num'] = 1;
$info=$cart->insertData($cartname,$data);
if($info!=false){
$cart_id=$cart->getMaxId($cartname);
$cart_id=$cart_id[0];
urlto("cart.php?cart_id=$cart_id");
}
}else{
$data['goods_num'] = $oldinfo[0]['goods_num']+1;
$info = $cart->updateData($cartname,$oldinfo[0]['id'],$data);
urlto("cart.php?cart_id=$cart_id");
}
(3)生成订单
如果用户对商品满意,并修改好购物车的商品数量后点击“去结算”,便跳转到订单信息确认与填写页面,运行效果如图4-8所示:
图4-8填写订单确认信息
(4)订单提交成功页面,如图4-9所示:
图4-9订单提交成功
4.2 后台部分
展开阅读全文