ホームページ  >  記事  >  バックエンド開発  >  PHPショッピングカートの実装方法

PHPショッピングカートの実装方法

藏色散人
藏色散人オリジナル
2019-10-15 10:12:163837ブラウズ

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 中国語 Web サイト をご覧ください。

以上がPHPショッピングカートの実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。