php购物车是怎么实现的

藏色散人
藏色散人原创
2023-02-26 17:20:013165浏览

php购物车是怎么实现的?

PHP简单实现购物车

首先,判断是否登录、

if(isset($_session['user_id'])){
存在;
把用户id和商品id,加入购物车表
}else{
不存在;
使用cookie把商品ID和主机IP放入一个数组
,把这个数组存入cookie;
浏览器允许存放300个cookie,
每个cookie的大小为4KB,足以满足购物车的要求,同时也
减轻了服务器的负荷
}

假如浏览器把cookie禁用,使用memcache来实现

另一种方法,判断是否登录、

if(isset($memcache->get('user_id'))){
存在;
把用户id和商品id,加入购物车表
}else{
不存在;
$memcache = new Memcache(); //实例化memchche
$data=['goods_id'=>$goods_id,'ip'=>$_SERVER
['REMOTE_ADDR']];
$memcache->set('key键',serialize($data));
}

redis实现与memcache没有太大的区别!

memcache代码如下

$cart=new Cart();
        $goods_id = isset($_GET['goods_id']) ? $_GET['goods_id'] : '1';
        $session = \yii::$app->session;
//        $session->set('user_id','1');
        $user_id = $session->get("user_id");
        $mem = Yii::$app->cache;
        if(isset($user_id)){
            $data['user_id'] = $user_id;
            $data['goods_id'] = $goods_id;
            $is_add=$cart->setAttributes($data)->insert();
        }else{
            $data['user_id'] = $_SERVER['REMOTE_ADDR'];
            $data['goods_id'] = $goods_id;
            $mem->set('data',serialize($data));
        }
        unserialize($mem->get('data'));    //memcache数据

以上两种方法都可以实现,假如使用第一种的话,我们就得设置cookie的失效时间,假如使用第二种的话,取值的时候需要反序列化 unserialize() ,接着就可以拿到你要拿到的数据了!

更多PHP相关知识,请访问PHP中文网

以上就是php购物车是怎么实现的的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。