php购物车功能的实现.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

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的值应该为“1@4@23@”,下面的操作只需用函数explode()和函数implode()就可以完成id的提取和连接。实现该过程的代码如下:

!--*******************************addgouwuche.php*******************************--

?php

session_start();

if($_SESSION[username]==)???????????????????????????????//判断用户是否已经登录

?{

?echoscriptalert(请先登录后购物!);history.back();/script;?//如果用户还没登录,则提示用户先登录并返回到原来页面

?exit;???????????????????????????????????????????????????//用exit语句停止循环的继续执行

?}

?$id=strval($_GET[id]);????????????????????????????????????//获取商品id值

?$array=explode(@,$_SESSION[producelist]);????????????????//将session变量$producelist中的内容用字符“@”进行分割,并将结果保存在数组$array中

?for($i=0;$icount($array)-1;$i++)

???{

????if($array[$i]==$id)????????????????????????????????????//如果$array数组中存在与$id相等的元素,说明该$id所对应的商品已经在购物车中

?????{

????????echoscriptalert(该商品已经在您的购物车中!);history.back();/script;

????????exit;??

?????}

???}

?$_SESSION[producelist]=$_SESSION[producelist].$id.@;??????//如果该商品不在购物车中,则将该商品的id值连接到session变量$producelist之后,并用“@”进行分割

?$_SESSION[quatity]=$_SESSION[quatity].1@;??????????????//同时将该商品的数量用“@”进行分割保存在session变量$quatity中,并将默认数量设置为1

?header(location:gouwu1.php);?????????????????????????????//添加成功之后将该页定位到?gouwu1.php页面显示购物车中的内容

?

将商品添加至购物车的过程涉及到函数explode()、count()的用法,下面为这两个函数的描述:

arrayexplode(stringseparator,stringstr)

此函数以字符串str中的子串separator作为分割符将字符串分割开来,分割后的一个或多个子串以数组的形式返回。

intcount(mixedvar)

count()函数的作用是用来计算变量var中元素的个数,如果变量为空则返回0,变量如果是数组则返回数组元素的个数,如是普通型变量则返回1。

说明:上面说到的id指的是shangpin表中的id字段。

22.10.2?查看购物车

您可能关注的文档

文档评论(0)

192****8144 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档