php+cookie 实现购物车

php+cookie实现购物车思路:

首先把获取到的数据进行序列化,之后添加到cookie中,之后再取出取出之前去除反斜杠 ----用stripslashes函数解决

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。

注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测

之后再反序列化取出即可。


下面来看看具体的代码:

添加到cookie购物车

         /*

           * @prarm  $item是接收到的商品数组

          */

           $cartUnSer[] = array(    // 要添加到cookie中的商品数据   以数组的方式可以避免多个的话覆盖
                'id'=>$id,
                'title'=>$item['title'],
                'price'=>$item['price'],
                'img' =>$item['img'],
                'type'=>$item['type'],
                'num'=>1, //默认的数量为1
            );
            $cartSer = serialize($cartUnSer);  //序列化数组
            setcookie('Cart',$cartSer,time()+36000);//保存cookie



之后取出cookie中的商品:

   
        $cookie = stripslashes ( $_COOKIE ['Cart'] ); //去除addslashes添加的反斜杠
        $cartUnSer = unserialize ( $cookie );
//反序列化cookie

之后显示在购物车页面中即可。

另外验证商品是否已经存在

(在添加商品之前反序列化cookie 查看商品id是否跟添加的商品id一样,如果一样,则在商品的数量上加1,如果不一样则添加商品)。

商品数量的加减:

商品数量的加减是把cookie反序列化之后在cookie中的商品数量上加,之后再序列化保存进cookie中。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值