php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > PHP学堂 >

加入购物车的PHP逻辑代码

时间:2019-06-25 17:08来源:未知 作者:admin 点击:
以下是在做购物车时候的逻辑与数据处理 其中$goodsId为当前要加入购物车的商品id $goodsNum为要购买的商品的数量 把商品加入购物车的时候我们要保存的数据结构为一维数组结构 [php] [
以下是在做购物车时候的逻辑与数据处理
其中$goodsId为当前要加入购物车的商品id
$goodsNum为要购买的商品的数量
把商品加入购物车的时候我们要保存的数据结构为一维数组结构
 
[php]
[
//’goodsId’=>’goodsNum’,
1=>2,//id为1的商品购买两个
2=>3,//id为2的商品购买3个
]
[/php]
 
当然我们都知道,数组这种数据类型是不允许被写入cookie中的,因为cookie只能写字符串
所以从下面的代码中我们可以看到,我们在写入cookie之前对该数组进行了serialize序列化处理
在读取cookie的时候,比如原文来自童攀课堂再次加入新的商品到购物车的时候进行了反序列化,将cookie中的字符串
再次转换成为一维数组,这样我们加入新的商品的时候其实相当于想该数组中添加了一个新的元素
 
[php]
public function addToCart($goodsId,$goodsNum=1){
$cart=isset($_COOKIE[‘cart’]) ? unserialize($_COOKIE[‘cart’]) : array();
//如果该商品已经被加入过购物车,则购买数量在原来的基础上增加
//如果该商品是第一次被加入购物车,则购买数量就是:$goodsNum
$cart[$goodsId]+=$goodsNum;
$aMonth=time()+30*24*3600;
//重新写入cookie的时候注意,第一要对新的数组进行序列化,转换为字符串
//第二,注意要加上第四个参数’/’,意思是该cookie存放的路径为根路径
//这样该网站所有网页都可以读取cookie信息
setcookie(‘cart’,serialize($cart),$aMonth,’/’);
}
[/php]
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
猜你喜欢