欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    php购物车功能的实现.docx

    • 资源ID:3163829       资源大小:40.68KB        全文页数:10页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    php购物车功能的实现.docx

    php购物车功能的实现22.10 购 物 车 购物车如图22.29所示,它的实现过程是本章的重点内容。购物车的作用是用来临时储存用户的购物信息。用户可以修改购物车中的商品数量、移除购物车中的某件商品、清空购物车。购物车的实现和数据存储主要是依赖session来实现的,当用户退出购物系统时,购物车中的商品会被自动清空,这个原理与在超市选购商品是一样的。下面将详细介绍购物车的实现过程。 图22.29 购物车 22.10.1 添加商品至购物车 主要技术:count、explode 用户看好一件商品后,但又没有确定买不买时,就可以将商品先放进购物车中。下面将介绍如何将商品添加至购物车。 在介绍检测用户登录页面chkuser.php中已经介绍过,当每个用户登录成功后系统将为每个用户分配两个session变量$producelist和$quatity,分别用来存储用户放入购物车中的商品id和这些商品的数量,当然一个变量同一时刻只能有一个值,要实现将多个id值同时保存在一个$producelist变量中,首先将id 转变成字符型变量,并且这些变量用字符“”进行连接,如用户分别将id为1、4、23的商品放入购物车中,这时session变量$producelist的值应该为“1423”,下面的操作只需用函数explode和函数implode就可以完成id的提取和连接。实现该过程的代码如下: <!-*addgouwuche.php*-> <?php session_start; if($_SESSIONusername="") /判断用户是否已经登录 echo "<script>alert('请先登录后购物!');history.back;</script>" /如果用户还没登录,则提示用户先登录并返回到原来页面 exit; /用exit语句停止循环的继续执行 $id=strval($_GETid); /获取商品id值 $array=explode("",$_SESSIONproducelist); /将session变量$producelist中的内容用字符“”进行分割,并将结果保存在数组$array中 for($i=0;$i<count($array)-1;$i+) if($array$i=$id) /如果$array数组中存在与$id相等的元素,说明该$id所对应的商品已经在购物车中 echo "<script>alert('该商品已经在您的购物车中!');history.back;</script>" exit; $_SESSIONproducelist=$_SESSIONproducelist.$id."" /如果该商品不在购物车中,则将该商品的id值连接到session变量$producelist之后,并用“”进行分割 $_SESSIONquatity=$_SESSIONquatity."1" /同时将该商品的数量用“”进行分割保存在session变量$quatity中,并将默认数量设置为1 header("location:gouwu1.php"); /添加成功之后将该页定位到 gouwu1.php页面显示购物车中的内容 ?> 将商品添加至购物车的过程涉及到函数explode、count的用法,下面为这两个函数的描述: array explode(string separator,string str) 此函数以字符串str中的子串separator作为分割符将字符串分割开来,分割后的一个或多个子串以数组的形式返回。 int count(mixed var) count函数的作用是用来计算变量var中元素的个数,如果变量为空则返回0,变量如果是数组则返回数组元素的个数,如是普通型变量则返回1。 说明:上面说到的id指的是shangpin表中的id字段。 22.10.2 查看购物车 用户选购完商品后,可以通过查看购物车来查看当前用户购物车中的商品信息。购物车如图22.30所示。 查看购物车代码如下: <!-*gouwu1.php*-> <?php session_start; if($_SESSIONusername="") /判断用户是否已经登录,否则查看购物车无任何意义, echo "<script>alert('请先登录,后购物!');history.back;</script>" exit; /如果用户没登录则停止程序继续执行 ?> <?php include("top.php"); /包含首部导航条 ?> <table width="800" height="438" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="200" height="438" valign="top" bgcolor="#E8E8E8"><div align="center"> <?php include("left.php");?> /将页面左边的用户登录及公告显示模块包括进来 </div></td> <td width="10" background="images/line2.gif">&nbsp;</td> <td width="590" valign="top"><table width="550" height="10" border="0" align="center" cellpadding= "0" cellspacing="0"> <tr> <td>&nbsp;</td> </tr> </table> s <table width="500" border="0" align="center" cellpadding="0" cellspacing="0"> <form name="form1" method="post" action="gouwu1.php"> <tr> <td height="25" bgcolor="#555555"><div align="center" style="color: #FFFFFF"><?php echo $_SESSION username;?>的购物车</div></td> </tr> <tr> <td bgcolor="#555555"><table width="500" border="0" align="center" cellpadding="0" cellspacing="1"> <?php session_register("total"); /注册session变量$total用来保存所有商品价格总和 if($_GETqk="yes") /判断用GET方法提交的qk的值是否为yes,如是则使$producelist和$quatity的值为空串,从而实现清空购物车的目的 $_SESSIONproducelist="" $_SESSIONquatity="" $arraygwc=explode("",$_SESSIONproducelist); /将$producelist用进行分割从而将购物车中现有商品id的值存放到数组$arraygwuc中 $s=0; /用$s保存购物车中商品id的总和 for($i=0;$i<count($arraygwc);$i+) $s+=intval($arraygwc$i); if($s=0 ) /如果$s的值为空,则说明购物车中无商品 echo "<tr>" echo" <td height='25' colspan='6' bgcolor='#FFFFFF' align='center'>您的购物车为空!</td>" echo"</tr>" else /如果$s的值不为空,则显示购物车中所有商品信息 ?> /显示购物车中商品信息,代码请详见本书附带光盘 主要技术:implode 22.10.3 从购物车中移去指定商品 该模块实现的基本思想是:首先用函数explode将session变量$producelist以“”进行分割,并把分割出的子串存放到数组中,之后将用户移去的商品对应的数组元素赋予空值,最后将数组元素重新组合成新串。该模块详细代码如下: <!-*removegwc.php*-> <?php $id=$_GETid; /获取用户打算移去商品的id session_start; $arraysp=explode("",$_SESSIONproducelist); $arraysl=explode("",$_SESSIONquatity); /分别将购物车中的商品id和对应商品的数量存放到数组$arraysp和$arraysl中 for($i=0;$i<count($arraysp);$i+) if($arraysp$i=$id) /通过循环寻找与id值相等的数组元素 $arraysp$i="" $arraysl$i="" /将与id值相等的数组元素赋于空值 $_SESSIONproducelist=implode("",$arraysp); $_SESSIONquatity=implode("",$arraysl); /利用implode函数将数组元素重新组合成新串 header("location:gouwu1.php"); /重新定位到gouwu1.php显示购物车 ?> /省略了HTML标记,请参看本书附带光盘 上述代码涉及到函数implode的用法: string implode(string glue,array pieces) 此函数的作用与explode函数的功能恰恰相反,其作用是将数组pieces中的元素以字符glue相连,从而形成一个新字符串。 22.10.4 修改商品购买数量 购物车中的商品默认数量是1件,如果用户打算购买多件相同的商品就需要利用修改商品购买数量这一模块来实现。修改商品数量与从购物车中移去指定商品的原理类似,只不过从购物车中移去某件商品是将该商品对应的数组元素赋予空值,而修改商品购买数量是将购物车中某件商品对应的数组元素赋于新值。实现该功能的代码如下: <!-*gouwu1.php*-> while(list($name,$value)=each($_POST) /提取表单中的商品id和新数量 for($i=0;$i<count($array)-1;$i+) if($array$i)=$name) $arrayquatity$i=$value; /获取购物车中每种商品的数量,并将数量保存到$arrayquatity数组中 购物车中用于输入商品数量的文本框是用商品id来命名的,所以通过语句list($name, $value)=each($_POST)赋值就使$name为购物车中某件商品的id,而$value为该商品对应的数量,之后通过循环处理将$value赋予新的数量就可以实现该模块。 22.10.5 清空购物车 当用户重新选购商品时,就需要清空购物车中所有商品,该功能实现的基本思想是:将session变量$producelist和$quatity的值都赋予空串。该过程代码如下: <!-*gouwu1.php*-> if($_GETqk="yes") /判断用户是否点击”清空购物车” $_SESSIONproducelist="" /清空购物车中商品id $_SESSIONquatity="" /清空购物车中商品数量 22.10.6 收银台结账 用户确定要购买购物车中所有商品之后,就需要到收银台页面填写收货人信息,系统管理人员将通过该信息确定收货人地址、商品名称及数量等,同时系统会根据这些信息给出订单。收银台页面如图22.31所示。具体实现代码如下: <!-*savedd.php*-> <?php session_start; include("conn.php"); /包含数据库连接文件 $sql=mysql_query("select * from user where name='".$_SESSIONusername."'",$conn); $info=mysql_fetch_array($sql); $dingdanhao=date("YmjHis").$infoid; $spc=$_SESSIONproducelist; $slc= $_SESSIONquatity; $shouhuoren=$_POSTname; $sex=$_POSTsex; $dizhi=$_POSTdz; $youbian=$_POSTyb; $tel=$_POSTtel; $email=$_POSTemail; $shff=$_POSTshff; $zfff=$_POSTzfff; if(trim($_POSTly)="") $leaveword="" else $leaveword=$_POSTly; $xiadanren=$_SESSIONusername; $time=date("Y-m-j H:i:s"); $zt="未作任何处理" $total=$_SESSIONtotal; /以上代码是从表单中获取收货人信息 mysql_query("insert into dingdan(dingdanhao,spc,slc,shouhuoren,sex,dizhi,youbian,tel,email,shff,zfff,leaveword,time,xiadanren,zt,total) values ('$dingdanhao','$spc','$slc','$shouhuoren','$sex','$dizhi','$youbian','$tel','$email','$shff','$zfff','$leaveword','$time','$xiadanren','$zt','$total')",$conn); /将信息添加到dingdan表 header("location:gouwu2.php?dingdanhao=$dingdanhao"); /重新定位到收银台 ?> 图22.31 收银台 上述代码中mysql_query函数的执行结果并没有具体的赋给某个变量,这是因为当用该函数执行“insert”、“delete”等SQL语句时并不需要回显结果,而执行“select”语句时一般都需要将结果显示在前台页面中,所以经常会将该函数的执行结果赋给某一个变量,以后用诸如mysql_fetch_array等函数提取数据库中内容时会用到该变量。

    注意事项

    本文(php购物车功能的实现.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开