Comment le panier d'achat php est-il implémenté ?
Implémentation simple du panier d'achat en PHP
Tout d'abord, déterminez si vous devez vous connecter,
if(isset($_session['user_id'])){ 存在; 把用户id和商品id,加入购物车表 }else{ 不存在; 使用cookie把商品ID和主机IP放入一个数组 ,把这个数组存入cookie; 浏览器允许存放300个cookie, 每个cookie的大小为4KB,足以满足购物车的要求,同时也 减轻了服务器的负荷 }
Si le navigateur désactive les cookies, utilisez memcache pour l'implémenter
Une autre méthode pour déterminer s'il faut se connecter,
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)); }
Il n'y a pas beaucoup de différence entre l'implémentation de Redis et Memcache !
Le code memcache est le suivant
$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数据
Les deux méthodes ci-dessus peuvent être implémentées Si nous utilisons la première méthode, nous devons définir le délai d'expiration du cookie. Si nous utilisons la deuxième méthode Si c'est le cas, vous devez désérialiser (unserialize()) lors de l'obtention de la valeur, et vous pourrez alors obtenir les données souhaitées !
Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!