首頁 >後端開發 >PHP問題 >php購物車是怎麼實現的

php購物車是怎麼實現的

藏色散人
藏色散人原創
2019-10-15 10:12:163944瀏覽

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相關知識,請造訪PHP中文網

以上是php購物車是怎麼實現的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多