温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php购物车是如何实现的

发布时间:2020-09-18 10:30:17 来源:亿速云 阅读:135 作者:小新 栏目:编程语言

小编给大家分享一下php购物车是如何实现的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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购物车是如何实现的的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI