PHP 장바구니는 어떻게 구현되나요?
PHP는 단순히 장바구니를 구현합니다
먼저 로그인 여부를 결정하고
if(isset($_session['user_id'])){ 存在; 把用户id和商品id,加入购物车表 }else{ 不存在; 使用cookie把商品ID和主机IP放入一个数组 ,把这个数组存入cookie; 浏览器允许存放300个cookie, 每个cookie的大小为4KB,足以满足购物车的要求,同时也 减轻了服务器的负荷 }
브라우저에서 쿠키가 비활성화된 경우 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数据
위의 두 가지 방법 모두 구현이 가능합니다. 첫 번째 방법을 사용한다면, 두 번째 방법을 사용한다면, 쿠키의 만료 시간을 설정해야 합니다. () 을 사용하면 원하는 데이터를 얻을 수 있습니다!
PHP 관련 지식을 더 알고 싶으시면 PHP 중국어 웹사이트를 방문하세요!
위 내용은 PHP 장바구니 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!