版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章B2C电子商务网站开发
【本章要点】
•-需求分析
-系统设计
*■数据库设计
*-系统实现
,系统测试与部署
ii.i需求分析
随着社会文化水平的提高和计算机应用的普及,网络购物已经开始被广大消费者所接受并广泛
使用,电子商务的发展进入新的阶段。电子商务可以理解为买卖双方互不谋面,通过互联网实现洽
谈、订货、在线付款等完整的商业交易活动。电子商务可以分为B2B模式(BusinessToBusiness:企
业对企业)、B2c模式(BusinessToCustomer:企业对个人客户)、C2c模式(CustomerToCustomer:
个人客户对个人客户)。国内外著名的电子商务网站有阿里巴巴、淘宝网、当当网、亚马逊等。
本章通过简单的B2C网上商城系统-《闽台商城》开发,介绍使用PHP进行WEB应用程序开发
的般过程和方法。B2c网上.商城系统-《闽台商城》即企业负责电子商务网站的构建和运营,网站
提供商品发布、会员注册、购物车、订单提交等功能。会员可以通过浏览商品信息、提交订单,企
业通过网站可以管理商品,处理订单,实现简单的电子商务活动。
11.2系统设计
11.2.1系统功能结构
通过对国内外电子商务网站的分析,结合客户的具体应用需求,《闽台商城网站》项目的具体功
能如下:
1.前台主要功能:
(1)商品展示:提供各类别商品展示页面,要求显示商品名称、实物图片、市场价和会员价等信
息,提供“查看详细信息”和“放入购物车”超链接。为各个商品提供详细介绍页面,包括商品名
称、实物图片、商品描述等信息。
(2)商品订购:会员查看完商品后可以将该商品放入购物车,可以对购物车进行管理,包括更改
订购数量、从购物车中删除商品、清空购物车等。会员可以提交订单,填写收货信息,完成商品订
购业务。
(3)文章展示:提供各类新闻文章的展示,包括商场公告、交易帮助等信息。
(4)会员中心:提供会员注册和登陆功能,会员登陆网站后可以实现商品订购、查看订单等功能。
2.后台主要功能:
(1)商品管理:系统管理员能够管理商品类别和商品信息,包括商品信息的发布、修改、删除等
功能;
(2)文章管理:系统管理员能够管理文章类别和文章信息,包括文章信息的发布、修改、更新、
放入回收站和彻底删除等功能;
(3)会员管理:系统管理员能够管理会员信息,包括会员信息的查看、启用和禁用等功能;
(4)订单管理:系统管理员能够管理会员提交的订单信息,包括查看订单详细信息,发货、结算
等功能;
《闽台商城网站》由网站前台和网站管理后台组成。网站前台的系统功能结构如图11-1所示,
网站管理后台的系统功能结构如图11-2所示。
电子商务网站前台
网站首页
商
会
会
客
最
通
服
品
员
员
新
知电了•商务网站后台
中
分
注
登
商
公
心
类
册
陆
品
告系统浮陆
会
杳
商
商
会
管
订
文
文
员
看
提
订
品
员
品
购
理
单
率
率
信
商
交
单
信
信
类
管
员
类
信
物
息
订
管
品
理
息
息
别
信
别
息
车
理
单
管
信
管
管
管
息
管
管
理
息
理
理
理
理
理
管
理
商品模块会以模块
图11-1网站前台功能结构图图11-2网站管理后台功能结构图
11.2.2系统业务流程图
《闽台商城网站》的系统业务流程图如图11-3所示。
查看商品详细信息
添加到购物车
提交订单/购卖丽
(离开
图11-3系统业务流程图
11.3数据库设计
11.3.1数据库分析
根据需求分析和系统设计,分析系统数据库结构,并为其设计合理的数据库。本项目数据库关
系图如图11-4所示。
管理员信息表
管理员编号int<pk>
用户名varchar(20)
密码varchar(50)
联系电话varchar(20)
QQvarchar(20)
邮箱地址varchar(50)
注册日期datetime
状态int
会员信息表
会员编号int<pk>
会员名varchar(20)<pk>
密码varchar(50)
密码保护问题varchar(50)
密码保护答案varchar(50)
身份证号varchar(30)
联系电话varchar(20)
QQvarchar(20)
邮箱varchar(50)
联系地址varchar(200)
邮政编码varchar(20)
消费总额float
余额float
注册日期datetime
状态int
订单信息表
订单编号int<pk>
订单号varchar(20)<pk>
信品数量varchar(20)<fk>
int
消费金额float
varchar(100)
varchar(300)
varchar(20)
int
date
int
text
图11-4数据库关系图
11.3.2数据库创建
表11T管理员信息表Adminjnfo
字段名称字段类型备注
AJDint管理员编号(主键,标识)
A_UserNameVarchar(20)用户名
A_PasswordVarchar(50)密码
A_TelVarchar(20)联系电话
A_QQVarchar(20)QQ
A_EmailVarchar(50)邮箱
A__CreateTimeDatetime注册日期
A_StatusInt状态
表11-2会员信息表Member」nfo
字段名称字段类型备注
M_IDint会员编号(主键,标识)
M_NameVarchar(20)会员名
M_PasswordVarchar(50)密码
M_QuestionVarchar(SO)密码保护问题
M_AnswerVarchar(50)密码保护答案
M_CardVarchar(3O)身份证号
M_TelVarchar(20)联系电话
M_QQVarchar(20)QQ
M_EmailVarchar(50)邮箱
M_AddressVarchar(200)联系地址
M_CodeVarchar(20)邮政编码
M_MoneyFloat消费总额
M_Blancefloat余额
M_CreateTimeDatetime注册日期
M_StatusInt状态
表11-3商品类别表Product_Type
字段名称字段类型备注
PT_IDint类别编号(主键,标识)
PT_ParentlDInt父级类别编号
PT_NameVarchar(20)类别名称
PTJntrotext类别简介
表11-4商品信息表ProductInfo
字段名称字段类型备注
PJDint商品编号(主键,标识)
PT_IDInt类别编号
P_NameVarchar(lOO)商品名称
P_ModelVarchar(300)规格
PJmageVarchar(300)图片
P_lntroText介绍
P_BrandVarchar(50)品牌
P_MPriceFloat市场价
P_VPriceFloat商城价
P_SellNumInt销售量
P_StoreNumInt库存量
P_HitsInt访问量
P_CreateTimeDatetime发布时间
P_StatusInt状态
表11-5文章类别表News_Type
字段名称字段类型备注
NTJDint类别编号(主键,标识)
NT_ParentlDInt父级类别编号
NT_NameVarchar(20)类别名称
NT_lntroText类别简介
表11-6文章信息表Newsjnfo
字段名称字段类型备注
NJDint文章编号(主键,标识)
NTJDInt类别编号
N_TitleVarchar(200)文章标题
NJntroText摘要
N_ContentsText内容
N_HitsInt访问量
N_CreateTimeInt发布时间
N_StatusDatetime状态
表11-7订单信息表Order_Info
字段名称字段类型备注
OJDint订单编号(主键,标识)
O_NumVarchar(2O)订单号
M_NameVarchar(20)会员名
P_NumsInt商品数量
O_MoneyFloat消费金额
O_TakerVarchar(lOO)收货人
O_AddressVarchar(300)收货地址
O_TelVarchar(20)联系电话
O_PaymethodInt付款方式
O_CreateTimedatetime订单FI期
O_StatusInt订单状态
O_Remarktext备注
表11-8订单商品信息表Order.Product
字段名称字段类型备注
OPJDint编号(主键,标识)
O_NumVarchar(20)订单号
PJDint商品编号
P_UnitPricefloat单价
P_NumsInt数量
P_FlodFloat折扣
P_PriceFloat小计价格
11.4系统实现
11.4.1创建项目
本节开始系统的编程实现,在编写代码之前,先规范网站的整体文件结构,创建系统中可能用
到的文件夹。在C:\AppServ\www文件夹中创建一个文件夹,命名为"webshop",在"webshop”文
件夹中分别创建conn、images、admin、upload四个文件夹。那么开发过程中,只需要将所创建的
文件保存在相应的文件夹中。项目完整的文件清单如表11-9所示。
表11-9项目文件清单
根目录文件子目录文件说明
1connConn_DB.php数据库链接文件
images存放网站前台图片素材
upload存放上传的商品图片及文章图片
2login.php系统后台登陆页面
3main.php系统后台管理主页
4admin_add.php管理员信息添加页面
5admin_manager.php管理员信息管理页面
6admin_update.php管理员信息修改页面
7newstype_add.php文章类别添加页面
8newstype_manager.php文章类别管理页面
9newstype_update.php文章类别修改页面
10news_add.php文章添加页面
11news_manager.php文章管理页面
12news_update.php文章修改页面
13producttype_add.php商品类别添加页面
14producttype_manager.php商品类别管理页面
15Adminproducttype_update.php商品类别修改页面
16product_add.php商品添加页面
17product_manager.php商品管理页面
18product_update.php商品修改页面
19member_manager.php会员信息管理页面
20memberjnfo.php查看会员信息页面
21order_manager.php订单信息管理页面
22orderjnfo.php查看订单信息页面
23select__newstypel.php下拉框一文章类别一用于文章类别添加页面
24select_newstype2.php下拉框一文章类别一用于文章添加页面
25select_newstype3.php下拉框一文章类别一用于文章修改页面
26select_producttypel.php下拉框一商品类别一用于商品类别添加页面
27select_producttype2.php下拉框一商品类别一用于商品添加页面
28select_producttype3.php下拉框一商品类别一用于商品修改页面
Admin/images存放后台界面图片素材
29login_do.php系统后台登陆处理
30session_check.php系统后分登陆判断
31admin_add_do.php管理员信息添加处理
32admin_delete_do.php管理员信息删除处理
33admin_update_do.php管理员信息修改处理
34newstype_add_do.php文章类别添加处理
35Admin/actionnewstype_delete_do.php文章类别删除处理
36newstype_update_do.php文章类别修改处理
37news_add_do.php文章添加处理
38news_action_do.php文章综合处理(删除、发布、放入回收站)
39news_update_do.php文章修改处理
40producttype_add_do.php商品类别添加处理
41producttype_delete_do.php商品类别删除处理
42producttype_update_do.php商品类别修改处理
43product_add_do.php商品添加处理
44product_action_do.php商品综合处理(发布、放入回收站)
45product_update_do.php商品修改处理
46member__action_do.php会员信息综合处理(启用、禁用、删除)
47order_action_do.php订单综合处理(发货、结算)
48member_register_do.php前台会员注册处理
49member_login_do.php前台会员登陆处理
50session_member_check.php前台会员登陆判断
51Actionmember_loginout_do.php前台会员退出处理
52member_pwd_update_do.php会员密码修改处理
53shopcar_do.php清空购物车处理
54order__add_do.php提交订单处理
55index.php网站前台主页(框架)
56index_content.php网站前台主页内容页
57newsjist.php文章列表页
58newsjnfo.php文章详细内容页
59productjist.php商品列表页
60productjnfo.php商品详细内容页
61shopcarjnfo.php购物车信息页
62member_register.php会员注册页
63memberjogin.php会员登陆页
64memberjnfo.php会员中心主页
65member_update.php会员信息修改页
66member_pwd_update.php会员密码修改页
67member_order_add.php提交订单页
68member_order_list.php会员订单列表页
69member__order_info.php会员订单详细内容页
70sub_member_menu.php模块-会员中心管理菜单
71sub_newslistl.php模块一文章列表一用于前台主页一通知公告
72sub_newslist2.php模块一文章列表一用于前台主页一交易流程
73sub_productlistl.php模块一商品列表一用于前台主页一名酒商品
74sub_productlist2.php模块一商品列表一用于前台主页一沙发商品
75sub_productlist3.php模块一商品列表一用于前台主页一皮鞋商品
11.4.2公共文件实现
公共文件的作用是将系统中多处使用到的相同功能代码编写在单独的文件中,然后在使用时通
过调用该文件。不需要重复编写相同代码,避免了代码冗余的问题、而且有利于代码维护和管理。
1.数据库连接文件
步骤1:在C:\AppServ\www\webshop\conn文件夹中创建Conn_DB.php文件,编写数据库连接
代码如下:
<?php
/*定义数据库连接类*/
classConnDB
(
〃声明成员变量
private$host;〃MySQL服务器地址
private$username;〃数据库用户名
private$password;〃数据库密码
private$charset;〃数据库编码格式
private$dbname;〃数据库名称
〃构造函数,实现类的初始化
publicfunctionConnDB($host1,$usernamel,$passwordl,$dbnamel,$charsetl)
{
$this->host=$hostl;〃将参数值赋值给成员变量
$this->username二$usernamel;
$this->password=$passwordl;
$this->dbname=$dbnamel;
$this->charset=$charsetl;
)
〃成员方法,实现数据库连接
publicfunctiongetConn()
(
$conn二mysql_connect($this->host,$this->username,$this->password);〃连接
MySQL服务器
mysql_select_db($this->dbname,$conn);〃选择数据库
mysql_query(,setnames5.$this->charset);〃设置数据库编码格式
return$conn;〃返回连接句柄
}
)
Sconndb=newConnDB(〃localhost〃,“root”,〃111","WebShop_DB〃,‘gbk');〃数据库连接类实例化
$conn=$conndb->getConn();〃获取链接句柄
?>
11.5网站后台开发
11.5.1系统登陆模块开发
系统登陆模块由四个文件组成,分别是系统登陆页login.php,登陆处理页login_do.php,登陆判
断页session_check.php和管理主页main.php。具体流程如图11-5所示。
图11-5系统登陆模块流程图
工作原理如下:
(1)管理员访问系统登陆页面login.php,填写用户名和密码,然后点击登陆按钮,将用户名和密
码提交到登陆处理页login_do.php;
⑵在登陆处理页中,获取提交的用户名和密码,连接数据库服务器,通过查询语句判断管理员
表adminjnfo中是否存在该用户名和密码的记录。如果存在,则登陆成功,为session赋值,跳转到
管理主页main.php;如果不存在,则弹出提示对话框并返回系统登陆页面login.php。
(3)登陆成功后进入管理主页main.php,还需要进一步通过session判断是否已经登陆,防止非
法用户通过输入管理主页地址(http:〃localhost:8090/webshop/admin/main.php)直接进入管理主页。
如果session值为为空,说明没有经过登陆,则弹出提示对话框并返回系统登陆页面login.phpo
【实现步骤】
步骤1:创建系统登陆页login.phpo
在C:\AppServ\www\webshop\admin文件夹中创建login,php文件,作为系统登陆页面,编写表
单代码如下:
<html>
。6&(1><1比12>闽台商城网站管理平台</1“1€></11©2(1〉
<bodyonLoad=,/javascript:forml.txt_username.focus()〃>
<formname="forml“action=/,action/login_do.phpz,method二〃post〃>
<tableborder=,,l/zalign=,,center,z>
<tr><tdcolspan="2"align=,/center,z>闽台商城网站管理平台一系统登陆〈/td〉〈/tr〉
<tr>
<td>用户名:</td>
<td><inputtype="text"name="txtusername"/></td>
</tr>
<tr>
<td>密码:</td>
<td><inputtype="password“name=〃txt_pwd〃/></td>
</tr>
<tr><tdcolspan=〃2〃align=,,center,,Xinputtype="submit"value=〃登陆〃/></td></tr>
</table>
</form>
</body>
</html>
保存页面,在浏览器地址栏中输入http://localhost:8090/webshop/admin/login.php,可浏
览页面效果如图11-6所示。
图11-6系统登陆界面
步骤2:创建系统登陆处理页login_do.php。
在C:\AppServ\www\webshop\admin\action文件夹中创建logindo.php文件,作为系统登陆处
理页面,获取提交的用户名和密码,并到数据库中进行查询验证用户名和密码正确,编写PHP代码
如下:
<?php
/*系统登陆处理页*/
require_once(/z../.,/conn/Conn_DB.php〃);〃包含数据库链接文件
if($_P0ST[,ztxtusername"]!=〃〃&&$POST[z,txtpwd〃]!=〃〃)〃判断用户名密码是否为空
{
$name=$P0ST[〃txtusername”];〃获取提交的用户名
$pwd=$_POST[,,txt_pwd,/];〃获取提交的密码
$str="select*fromAdmin_lnfowhereA_UserName=,$nameJandA_Password='$pwd'〃;
//echo$str;〃本语句用于调试,输出查询语句
$result=mysqlquery($str);〃执行SQL语句
if(mysql_num_rows($result)>0)//判断返回记录的行数
(
session_start();〃登陆成功,设置SESSION值
$SESSION]'user']二$POST]'txtusername'];
echo”〈script》window,location.href=,../main,php);</script>/z;//跳转到管理平台主页
)
else〃登陆失败,弹出提示对话框,返回登陆页
echo“<script>alert('用户名或密码错误!
’);window,location,href='・・/login,php'〈/script)”;
)
)
else〃用户名密码为空,弹出提示对话框,返回登陆页
(
echo/z<script>alert请输入用户名和密码!
');window,location.href=,../login,php'〈/script)”;
)
?>
步骤3:创建登陆判断页session_check.phpo
在C:\AppServ\www\webshop\admin\action文件夹中创建sessioncheck,php文件,作为系统
登陆判断页面,通过session判断是否已经登陆,防止非法用户通过输入管理主页地址直接进入管理
主页。如果session值为为空,说明没有经过登陆,则弹出提示对话框并跳转回系统登陆面login.php,
编写PHP代码如下:
<?php
/*系统登陆判断页*/
if($_SESSION[,user]=〃〃)〃登陆判断,如果没有登陆,跳转到登陆页面
(
echo“<script>alert('登陆超时,请重新登陆!');
window,location,href='login,php';</script>〃;
)
?>
步骤4:创建系统管理主页main.phpo
在C:\AppServ\www\webshop\admin文件夹中创建main,php文件,作为系统管理主页,显示系
统管理菜单,编写代码如下:
<html>
<head><title>闽台商城网站管理平台</title></head>
<bodystyle="margin:0pxOpxOpxOpx;”>
<?phpinclude5action/sessioncheck.php,;〃登陆判断?>
<tableborder=style="widlh:100%”>
<tr><tdcol.span="2〃>闽台商城网站管理平台</td></tr>
<tr><tdcolspanz:,/2,,></td></tr>
<tr><tdwidth="100px〃valign二〃top〃>
<ahref=,/member_manager.phpz,target="mainframe"〉会员信息管理</a><br/>
<ahref="adminadd.php〃target="mainframe”〉添加管理员</a><br/>
<ahref=//admin_manager.phpz,target="mainframe"〉管理员管理</a><br/Xbr/>
<ahref=/,producttype_add.phpz,target="mainframe”)添加商品类别</a><br/>
<ahref=//producttype_manager.php"target="mainframe”〉商品类别管理</a>〈br/>
<ahref="productadd.php"target="mainframe”)添加商品信息</a〉<br/>
<ahref=,/product_manager.php,ztarget="mainframe”〉商品信息管理</@><br/Xbr/>
<ahref="newstypeadd.php〃target=〃mainframe”〉添力口文章类另lj</a><br/>
<ahref=z,newstype_manager.php,ztarget="mainframe”)文章类别管理</a><br/>
<ahref="newsadd.php〃target="mainframe”》添加文章信息</a><br/>
<ahref=,znews_manager.php/ztarget="mainframe"》文章信息管理</a><br/Xbr/>
<ahref=,,order_manager.php,ztarget=〃mainframe”》订单信息管理</a><br/Xbr/>
<ahref=z/../index.php"target="_blank〃>网站前台首页</a>
</td>
<td>
<iframename="mainframe"style=,/width:100%;height:500px,z></iframe><!--iframe
框架一>
</td>
</tr>
</table>
</body>
</html>
步骤5:保存各页面,在浏览器地址栏中输入
http://localhost:8090/webshop/admin/login.php,进入系统登陆页,填写用户名和密码(本案例
中用户名为admin,密码为123),通过登陆验证成功,进入系统管理主页main.php,页面效果如图
11-7所示。
图11-7系统管理主页面
11.5.2文章类别管理模块开发
文章类别管理模块由六个文件组成,分别是文章类别添加页面newstype_add.php,文章类别添
加处理页面newstype_add_do.php,文章类别管理页面newstype_manager.php,文章类别删除处理页
面newstype_delete_do.php,文章类别修改页面newstype_update.php和文章类别修改处理页面
newstype_update_do.phpo具体流程如图11-8所示。
Admin/newstype_add.phpAdmin/action/newstype_add_do.php
文章类别添加页文章类别添加处理页
文
查
访
看
问删除某文章类别
文
文
章
章
类
类
别
别
管
列
理
表
页修改某文章类别
Admin/newstvpemanager.phpAdmin/action/newstype_delete_do.php
文章类别管理页文章类别删除处理页
।获取提交的类别编号
।▼.
||从数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 危险品仓储的紧急情况应急预案制定考核试卷
- 搪瓷制品的节能效果与环保意义考核试卷
- DB11T 270-2014 生活垃圾卫生填埋场运行管理规范
- 筑堡工程课件教学课件
- 法国概述课件教学课件
- 兵团精神课件教学课件
- 淮阴工学院《工程项目管理2》2023-2024学年第一学期期末试卷
- 2024届黑龙江省部分学校高三年级下册第五次模拟考试语文试题(解析版)
- 高性能玻璃微珠相关项目投资计划书范本
- 风力发电机组行业相关投资计划提议范本
- 马工程《刑法学(下册)》教学课件 第20章 侵犯公民人身权利、民主权利罪
- GB/T 3820-1997纺织品和纺织制品厚度的测定
- GB/T 3215-1982炼厂、化工及石油化工流程用离心泵通用技术条件
- GB/T 2885.5-2008矿用窄轨车辆第5部分:平板车
- GB/T 25021-2010轨道检查车
- GB/T 2492-2003普通磨具交付砂轮允许的不平衡量测量
- 医院运行与医疗业务指标数据统计收集管理规定
- 中小学作文教学论文参考文献,参考文献
- 肿瘤患者的人文关怀
- 胃癌根治术的手术配合课件
- 安吉游戏培训课件(全)
评论
0/150
提交评论