小編給大家分享一下php購物車是如何實現(xiàn)的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、興國網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為興國等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。php購物車是怎么實現(xiàn)的?
PHP簡單實現(xiàn)購物車
首先,判斷是否登錄、
if(isset($_session['user_id'])){ 存在; 把用戶id和商品id,加入購物車表 }else{ 不存在; 使用cookie把商品ID和主機IP放入一個數(shù)組 ,把這個數(shù)組存入cookie; 瀏覽器允許存放300個cookie, 每個cookie的大小為4KB,足以滿足購物車的要求,同時也 減輕了服務(wù)器的負荷 }
假如瀏覽器把cookie禁用,使用memcache來實現(xiàn)
另一種方法,判斷是否登錄、
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實現(xiàn)與memcache沒有太大的區(qū)別!
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數(shù)據(jù)
以上兩種方法都可以實現(xiàn),假如使用第一種的話,我們就得設(shè)置cookie的失效時間,假如使用第二種的話,取值的時候需要反序列化 unserialize() ,接著就可以拿到你要拿到的數(shù)據(jù)了!
以上是php購物車是如何實現(xiàn)的的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。