php购物车功能的实现.docx

上传人:牧羊曲112 文档编号:3163829 上传时间:2023-03-11 格式:DOCX 页数:10 大小:40.68KB
返回 下载 相关 举报
php购物车功能的实现.docx_第1页
第1页 / 共10页
php购物车功能的实现.docx_第2页
第2页 / 共10页
php购物车功能的实现.docx_第3页
第3页 / 共10页
php购物车功能的实现.docx_第4页
第4页 / 共10页
php购物车功能的实现.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《php购物车功能的实现.docx》由会员分享,可在线阅读,更多相关《php购物车功能的实现.docx(10页珍藏版)》请在三一办公上搜索。

1、php购物车功能的实现22.10 购 物 车 购物车如图22.29所示,它的实现过程是本章的重点内容。购物车的作用是用来临时储存用户的购物信息。用户可以修改购物车中的商品数量、移除购物车中的某件商品、清空购物车。购物车的实现和数据存储主要是依赖session来实现的,当用户退出购物系统时,购物车中的商品会被自动清空,这个原理与在超市选购商品是一样的。下面将详细介绍购物车的实现过程。 图22.29 购物车 22.10.1 添加商品至购物车 主要技术:count、explode 用户看好一件商品后,但又没有确定买不买时,就可以将商品先放进购物车中。下面将介绍如何将商品添加至购物车。 在介绍检测用户

2、登录页面chkuser.php中已经介绍过,当每个用户登录成功后系统将为每个用户分配两个session变量$producelist和$quatity,分别用来存储用户放入购物车中的商品id和这些商品的数量,当然一个变量同一时刻只能有一个值,要实现将多个id值同时保存在一个$producelist变量中,首先将id 转变成字符型变量,并且这些变量用字符“”进行连接,如用户分别将id为1、4、23的商品放入购物车中,这时session变量$producelist的值应该为“1423”,下面的操作只需用函数explode和函数implode就可以完成id的提取和连接。实现该过程的代码如下: ?php

3、 session_start; if($_SESSIONusername=) /判断用户是否已经登录 echo alert(请先登录后购物!);history.back; /如果用户还没登录,则提示用户先登录并返回到原来页面 exit; /用exit语句停止循环的继续执行 $id=strval($_GETid); /获取商品id值 $array=explode(,$_SESSIONproducelist); /将session变量$producelist中的内容用字符“”进行分割,并将结果保存在数组$array中 for($i=0;$icount($array)-1;$i+) if($arra

4、y$i=$id) /如果$array数组中存在与$id相等的元素,说明该$id所对应的商品已经在购物车中 echo alert(该商品已经在您的购物车中!);history.back; exit; $_SESSIONproducelist=$_SESSIONproducelist.$id.; /如果该商品不在购物车中,则将该商品的id值连接到session变量$producelist之后,并用“”进行分割 $_SESSIONquatity=$_SESSIONquatity.1; /同时将该商品的数量用“”进行分割保存在session变量$quatity中,并将默认数量设置为1 header(l

5、ocation:gouwu1.php); /添加成功之后将该页定位到 gouwu1.php页面显示购物车中的内容 ? 将商品添加至购物车的过程涉及到函数explode、count的用法,下面为这两个函数的描述: array explode(string separator,string str) 此函数以字符串str中的子串separator作为分割符将字符串分割开来,分割后的一个或多个子串以数组的形式返回。 int count(mixed var) count函数的作用是用来计算变量var中元素的个数,如果变量为空则返回0,变量如果是数组则返回数组元素的个数,如是普通型变量则返回1。 说明:

6、上面说到的id指的是shangpin表中的id字段。 22.10.2 查看购物车 用户选购完商品后,可以通过查看购物车来查看当前用户购物车中的商品信息。购物车如图22.30所示。 查看购物车代码如下: ?php session_start; if($_SESSIONusername=) /判断用户是否已经登录,否则查看购物车无任何意义, echo alert(请先登录,后购物!);history.back; exit; /如果用户没登录则停止程序继续执行 ? /将页面左边的用户登录及公告显示模块包括进来     s 的购物车 ?php session_register(to

7、tal); /注册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;$icount($arr

8、aygwc);$i+) $s+=intval($arraygwc$i); if($s=0 ) /如果$s的值为空,则说明购物车中无商品 echo ; echo 您的购物车为空!; echo; else /如果$s的值不为空,则显示购物车中所有商品信息 ? /显示购物车中商品信息,代码请详见本书附带光盘 主要技术:implode 22.10.3 从购物车中移去指定商品 该模块实现的基本思想是:首先用函数explode将session变量$producelist以“”进行分割,并把分割出的子串存放到数组中,之后将用户移去的商品对应的数组元素赋予空值,最后将数组元素重新组合成新串。该模块详细代码如下

9、: ?php $id=$_GETid; /获取用户打算移去商品的id session_start; $arraysp=explode(,$_SESSIONproducelist); $arraysl=explode(,$_SESSIONquatity); /分别将购物车中的商品id和对应商品的数量存放到数组$arraysp和$arraysl中 for($i=0;$i /省略了HTML标记,请参看本书附带光盘 上述代码涉及到函数implode的用法: string implode(string glue,array pieces) 此函数的作用与explode函数的功能恰恰相反,其作用是将数组p

10、ieces中的元素以字符glue相连,从而形成一个新字符串。 22.10.4 修改商品购买数量 购物车中的商品默认数量是1件,如果用户打算购买多件相同的商品就需要利用修改商品购买数量这一模块来实现。修改商品数量与从购物车中移去指定商品的原理类似,只不过从购物车中移去某件商品是将该商品对应的数组元素赋予空值,而修改商品购买数量是将购物车中某件商品对应的数组元素赋于新值。实现该功能的代码如下: while(list($name,$value)=each($_POST) /提取表单中的商品id和新数量 for($i=0;$icount($array)-1;$i+) if($array$i)=$nam

11、e) $arrayquatity$i=$value; /获取购物车中每种商品的数量,并将数量保存到$arrayquatity数组中 购物车中用于输入商品数量的文本框是用商品id来命名的,所以通过语句list($name, $value)=each($_POST)赋值就使$name为购物车中某件商品的id,而$value为该商品对应的数量,之后通过循环处理将$value赋予新的数量就可以实现该模块。 22.10.5 清空购物车 当用户重新选购商品时,就需要清空购物车中所有商品,该功能实现的基本思想是:将session变量$producelist和$quatity的值都赋予空串。该过程代码如下:

12、if($_GETqk=yes) /判断用户是否点击”清空购物车” $_SESSIONproducelist=; /清空购物车中商品id $_SESSIONquatity=; /清空购物车中商品数量 22.10.6 收银台结账 用户确定要购买购物车中所有商品之后,就需要到收银台页面填写收货人信息,系统管理人员将通过该信息确定收货人地址、商品名称及数量等,同时系统会根据这些信息给出订单。收银台页面如图22.31所示。具体实现代码如下: 图22.31 收银台 上述代码中mysql_query函数的执行结果并没有具体的赋给某个变量,这是因为当用该函数执行“insert”、“delete”等SQL语句时并不需要回显结果,而执行“select”语句时一般都需要将结果显示在前台页面中,所以经常会将该函数的执行结果赋给某一个变量,以后用诸如mysql_fetch_array等函数提取数据库中内容时会用到该变量。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号