Wie wird der PHP-Warenkorb implementiert?
Einfache Warenkorb-Implementierung in PHP
Bestimmen Sie zunächst, ob Sie sich anmelden möchten,
if(isset($_session['user_id'])){ 存在; 把用户id和商品id,加入购物车表 }else{ 不存在; 使用cookie把商品ID和主机IP放入一个数组 ,把这个数组存入cookie; 浏览器允许存放300个cookie, 每个cookie的大小为4KB,足以满足购物车的要求,同时也 减轻了服务器的负荷 }
Wenn der Browser Cookies deaktiviert, verwenden Sie Memcache um es zu implementieren
Eine andere Methode, um zu bestimmen, ob man sich anmelden soll,
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)); }
Es gibt keinen großen Unterschied zwischen Redis-Implementierung und Memcache!
Der Memcache-Code lautet wie folgt
$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数据
Beide oben genannten Methoden können implementiert werden, wenn die erste Methode verwendet wird, müssen wir die Cookie-Ablaufzeit festlegen. Wenn die zweite Methode verwendet wird, müssen Sie beim Abrufen des Werts deserialisieren (), damit Sie die gewünschten Daten erhalten können!
Weitere PHP-bezogene Kenntnisse finden Sie auf der PHP-Chinese-Website!
Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen PHP-Warenkorb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!