课 程 综 合 作 业 
课程名称            PHP程序设计             
学生所在系部          管理系                 
年级  B07级        专业班级  电子商务1班   
学生姓名  李荣妹    学号    ************   
任课教师            白磊                     
成绩                                           
《 PHP程序设计》课程综合作业
作业题目
电子商务系统
一、作业目的
1、掌握PHP基本语法及应用。
2、掌握SESSION和COOKIE的使用。
3、掌握使用PHP和页面进行交互。
4、掌握PHP图像处理应用。
5、掌握MySQL数据库的使用及使用PHP操作MySQL数据库。
6、了解系统开发的其他工具及语言。
7、掌握系统开发的基本流程。
二、设备与环境
硬件:多媒体计算机
软件:Windows系列操作系统、PHP系列运行及编译环境、MySQL数据库
三、作业内容
(一)总体设计
本电子商务系统实现了基本的网上购物和管理员管理店铺的功能。主要分成以下几个模块。登陆、注册认证模块:不同用户有不同的权限,有后台的管理员登录和前台客户登陆。
客户功能模块主要包括商品展示(包括重点推荐商品、促销商品、新上市商品、商品分类浏览等展示)。商品评价:会员可对商品进行评价。购物车:把会员选购商品添加到购物车或从购物车清除商品等。结账:将购物车商品进行结账并生成订单。订单查询:会员查询自己订单信息和发货信息。
管理员管理功能模块:主要包括商品管理、客户管理、订单管理,公告管理和自身的基本信息管理等功能。
                    a.用户功能模块
                      b.管理员管理功能     
电子商务系统
系统后台
系统前台
                      c.系统整体功能模块
(二)数据库设计
本电子商务系统的数据库有9个表,数据库数据冗余小,设计合理,下面主要介绍具体以下几个表:
admin表,用来存放管理员的用户名和密码:
Leaveword表,用来存储用户留言的具体信息:
dingdan表,存储订单的相关信息:
Pinglun表,用来存储用户对商品评论的信息:
Shangpin表,用来存储商品的基本信息:
type表,用来存储商品类型:
User表,存放已经注册的用户的基本信息:
(三)系统的详细设计
1.本电子商务系统的前台实现了一般用户的网页商品浏览和用户注册功能,而登录的用户则可以购买商品和评论。下面主要介绍购买商品的的详细情况。
(1)用户登录注册界面模块。本系统中只有登录的用户才能购买商品和进行评论,没有账号的用户可以直接注册使用。
(2)购物模块。下图为用户已经登录的网上商城的首页,从图中可以看到商城的基本情况,展示的商品主要有推荐商品、最新商品、热门商品。
  也可以按照左边给的商品分类导航查看商品,如下图所示:
选择一样商品点击加入购物车,会转到购物车页面,购物车中可以更改商品数量,去收银台填写订单,移除所选择的商品和清空购物车。如下图所示:
    确定所需要购买的商品后,点击“去收银台”,转到下图页面,进行收货人信息的填写。
填写好收货人信息后,点击“提交订单”,得出订单:
    用户可以选择导航的“我的订单”,会显示订单的具体情况,如果商城的店主(系统管理员)没有对订单进行处理,先显示下图状态:
等待店主(系统管理员)的回应,如果店主(系统管理员)对订单做了处理则显示如下图:
(3)商品评论模块。登录的用户可以对商品进行评价,点击“查看信息”,显示中有评论的模块,如下图:
评论成功后,在商品评论中可以看到商品评论的具体信息,如下图所示:
2.后台管理模块。后台管理员拥有最大的权限,负责对整个系统的管理,包括:商品管理,用户管理,订单管理,信息管理,清空访客IP,返回前台。下面主要介绍商品管理,用户管理,订单管理,评论管理。
(1)商品管理模块。此模块有添加商品、修改商品、商品类别管理,添加商品类别。
(2)用户管理模块,有用户信息管理,用户留言管理,更改管理员信息。
管理员可以删除已有用户,或在查看信息页面中将其冻结,冻结的用户不能再登录商城。
  用户留言只有管理员可以看见的留言,管理员课一查看和删除。
  (3)在信息管理中有用户评论的管理,管理员可以查看或者删除用户对商品的评论。
(四)应用到的关键技术的详细说明
1.本系统中关键用到的技术就是数据库的连接,数据库的连接是整个系统能够成功运行的关键。数据库连接:<?php
$conn=mysql_connect("localhost","root","123456") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("shop",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set character set gb2312");
mysql_query("set names gb2312"); ?>
2.用户登录的页面的认证技术。
<?php  $username=$_POST[username];$userpwd=md5($_POST[userpwd]);$yz=$_POST[yz];
$num=$_POST[num];if(strval($yz)!=strval($num))
{ echo "<script>alert('验证码输入错误!');(-1);</script>"; exit; }
class chkinput { var $name; var $pwd;……
if($info[pwd]==$this->pwd){  $lastlogintime=date("Y-m-j");
mysql_query("update user set lastlogintime=''$lastlogintime",$conn);
session_start();session_register("username");$username=$name;
session_register("producelist");$producelist="";
session_register("quatity");$quatity="";echo "<script>alert('登录成功!');window.location='index.php';</script>";exit;  }  else
{echo "<script language='javascript'>alert('密码输入错误!');history.back();</script>";exit;  }  }  } }
$obj=new chkinput(trim($username),trim($userpwd)); $obj->checkinput();?>
3.Session技术的使用,购物车的实现用的就是Session技术,Session记录客户端的相关信息,通过数据库连接,将数据读到数据库然后做出相应的反映。以下是购物出的实现代码:
<table width="500" border="0" align="center" cellpadding="0" cellspacing="1">
<?php          session_start();session_register("total");
if($_GET[qk]=="yes"){$_SESSION[producelist]="";$_SESSION[quatity]=""; }
$arraygwc=explode("@",$_SESSION[producelist]);
$s=0;for($i=0;$i<count($arraygwc);$i++){$s+=intval($arraygwc[$i]);}?><tr>
<td width="125" height="25" bgcolor="#FFFFFF"><div align="center">商品名称</div></td>
……
<td width="71" bgcolor="#FFFFFF"><div align="center">操作</div></td></tr>
<?php $total=0;$array=explode("@",$_SESSION[producelist]);
$arrayquatity=explode("@",$_SESSION[quatity]);                while(list($name,$value)=each($_POST)){for($i=0;$i<count($array)-1;$i++)
{if(($array[$i])==$name){$arrayquatity[$i]=$value;  }}}                $_SESSION[quatity]=implode("@",$arrayquatity);
    for($i=0;$i<count($array)-1;$i++){$id=$array[$i];$num=$arrayquatity[$i];    if($id!=""){$sql=mysql_query("select * from shangpin where id='".$id."'",$conn);
$info=mysql_fetch_array($sql);$total1=$num*$info[huiyuanjia];
php调用mysql数据库$total+=$total1;$_SESSION["total"]=$total;?>
……
4.分页技术
<?php  $pagesize=20;if ($total<=$pagesize){  $pagecount=1;}
if(($total%$pagesize)!=0){$pagecount=intval($total/$pagesize)+1;            }
else{$pagecount=$total/$pagesize;}
if(($_GET[page])==""){  $page=1;}else{$page=intval($_GET[page]);}
  $sql1=mysql_query("select * from shangpin where tuijian=1 order by addtime desc limit ".($page-1)*$pagesize.",$pagesize ",$conn);
while($info1=mysql_fetch_array($sql1)){?>
 本站共有推荐产品 <?php echo $total;?> 件 每页显示 <?php echo $pagesize;?> 件 第 <?php echo $page;?> 页/共 <?php echo $pagecount; ?> 页<?phpif($page>=2){?>
<a href="showtuijian.php?page=1" title="首页"><font face="webdings"> 9 </font></a>
<a href="showtuijian.php?id=<?php echo $id;?>&page=<?php echo $page-1;?>" title="前一页"><font face="webdings"> 7 </font></a>  <?php}  if($pagecount<=4){for($i=1;$i<=$pagecount;$i++){?>
<a href="showtuijian.php?page=<?php echo $i;?>"><?php echo $i;?></a>
<?php}}else{for($i=1;$i<=4;$i++){?><a href="showtuijian.php?page=<?php echo $i;?>"><?php echo $i;?></a>  <?php }?>
<a href="showtuijian.php?page=<?php echo $page-1;?>" title="后一页"><font face="webdings"> 8 </font></a>
<a href="showtuijian.php?id=<?php echo $id;?>&page=<?php echo $pagecount;?>" title="尾页"><font face="webdings"> : </font></a><?php }?>
四、结果及分析
1.前台的用户只能是登录的才能进行商品购买和对商品评论,当用户不按照要求进行购买就会有提示用户不能进行此操作,这样确保了用户对商城的安全性。如图:
                                  商城首页
2.后台管理员对整个系统起着主导作用,管理员通过登录对系统进行管理。
                              管理员登陆页面
                              管理员管理首页
3.心得体会
本次的电子商务系统基本上完成了作业的要求,实现了基本的购物功能、评论功能,商品推荐、促销商品、最新商品的展示。将所学的php知识和相关的数据库知识,html语言以及JavaScript语言结合综合应用,进一步加深了对所学知识的掌握程度。重点掌握了数据库的基本使用,比如数据库数据的读取,添加,删除、修改等,数据库加密的使用。Session对象的使用和掌握,php与表单,提交表单信息等的使用。
做的电子商务系统只是个很简单的购物系统,还不能用到现实的生活中,因为安全性太低,还有很大的提升空间,比如添加支付流程。
本次实验中,又是一次学习的过程,虽然大体上的知识点是懂的,但没有做过将它们联系起来,再编辑成一个系统,开始做的时候,遇到了很多困难,几乎是不知道从何开始下手,经过看了很多有关系统的程序之后,渐渐的有了个清晰地思路,在实践中学习,在实践中摸索,将所学的知识点有机联系起来,进一步加深理解,页面一个一个出来,经过多次的检查和试验,终于完成了现在的这个系统。坚持与信心是不可缺少的精神,这次实验中再一次深深体会到这种精神的可贵。不管在以后的学习还是工作中,都必须有信心和坚持到底。
教 师 评 价
评定项目
A
B
C
D
评定项目
A
B
C
D
算法正确
界面美观,布局合理
程序结构合理
操作熟练
语法、语义正确
解析完整
实验结果正确
文字流畅
报告规范
题解正确
其他:
评价教师签名:
年  月  日