ホームページ  >  記事  >  バックエンド開発  >  Cookie を使用して PHP でショッピング カートを実装する方法、Cookie ショッピング カート_PHP チュートリアル

Cookie を使用して PHP でショッピング カートを実装する方法、Cookie ショッピング カート_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:12:01880ブラウズ

phpはCookieを使用してショッピングカート、Cookieショッピングカートを実装します

この記事の例では、Cookie を使用して PHP でショッピング カートを実装する方法を説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

php ショッピング カートは、電子商取引サイトで使用されます。商品を選択したら、まずショッピング カートに入れて、カウンターで決済されるのを待ちます。この例は、この原則に基づいています。興味のある方はご覧ください。コードは次のとおりです。

コードをコピーします コードは次のとおりです:
/**
* ショッピングカートの Cookie は保存され、保存期間は 1 日です。 注: Cookie を使用するにはブラウザが Cookie をサポートしている必要があります。 ​*/
クラスカルタピ {
private $cartarray = array(); // ショッピングカートを格納する 2 次元配列
private $cartcount; // ショッピングカートの数をカウントします
public $expires = 86400; // Cookie の有効期限、0 の場合、単位は秒です。 /**
* コンストラクターの初期化操作 $id が空でない場合は、直接ショッピングカートに追加します
*
​*/
public function __construct($id = "",$name = "",$price1 = "",$price2 = "",$price3 = "",$count = "",$image = "",$expires = 86400 ) {
if ($id != "" && is_numeric($id)) {
$this->有効期限 = $有効期限
$this->addcart($id,$name,$price1,$price2,$price3,$count,$image); }
}
/**
* カートに商品を追加します
*
* @param int $id アイテム番号
* @param string $name 製品名
* @param 10進数 $price1 商品価格
* @param 10進数 $price2 商品価格
* @param 10進数 $price3 商品価格
* @param int $count 商品数量
* @param string $image 製品画像
* @return 商品が存在する場合は、元の数量に 1 を加えて false を返します
​*/
パブリック関数 addcart($id,$name,$price1,$price2,$price3,$count,$image) {
$this->cartarray = $this->cartview() // 配列へのデータの読み取りと書き込み
; if ($this->checkitem($id)) { // アイテムが存在するかどうかを確認します
$this->modifycart($id,$count,0) // 商品の数量に $count を追加します
false を返します。 }
$this->cartarray[0][$id] = $id; $this->cartarray[1][$id] = $name; $this->cartarray[2][$id] = $price1; $this->cartarray[3][$id] = $price2; $this->cartarray[4][$id] = $price3; $this->cartarray[5][$id] = $count; $this->cartarray[6][$id] = $image; $this->save(); }
/**
* ショッピングカート内の項目を変更します
*
* @param int $id アイテム番号
* @param int $count 商品数量
* @param int $flag 修正タイプ 0: 加算 1: 減算 2: 修正 3: クリア
* @return 変更が失敗した場合は false を返します
​*/
パブリック関数modifycart($id, $count, $flag = "") {
$tmpid = $id
$this->cartarray = $this->cartview() // 配列へのデータの読み取りと書き込み
; $tmparray = &$this->cartarray; // 引用
if (!is_array($tmparray[0])) は false を返します
if ($id false を返します。 }
foreach ($tmparray[0] as $item) {
if ($item === $tmpid) {
スイッチ ($flag) {
ケース 0: // 通常、$count は 1 です。 $tmparray[5][$id] += $count
休憩
ケース 1: // 数量を減らす
$tmparray[5][$id] -= $count
休憩
ケース 2: // 数量を変更します
If ($count == 0) {
unset($tmparray[0][$id]); unset($tmparray[1][$id]); unset($tmparray[2][$id]); unset($tmparray[3][$id]); unset($tmparray[4][$id]); unset($tmparray[5][$id]); unset($tmparray[6][$id]); 休憩
} その他 {
$tmparray[5][$id] = $count; 休憩
}
ケース 3: // アイテムをクリアします
unset($tmparray[0][$id]); unset($tmparray[1][$id]); unset($tmparray[2][$id]); unset($tmparray[3][$id]); unset($tmparray[4][$id]); unset($tmparray[5][$id]); unset($tmparray[6][$id]); 休憩
デフォルト:
休憩
}
}
}
$this->save(); }
/**
* ショッピングカートをクリアします
*
​*/
パブリック関数 Removeall() {
$this->cartarray = array(); $this->save(); }
/**
* ショッピングカート情報を見る
*
* @return array 2次元配列を返します
​*/
パブリック関数 cartview() {
$cookie = チュートリアルのまつ毛を除去します($_cookie['cartapi']); if (!$cookie) が false を返す
$tmpunserialize = unserialize($cookie); $tmpunserialize を返します
}
/**
* ショッピングカートに商品があるか確認してください
*
* @return bool 商品があればtrueを返し、それ以外の場合はfalseを返します
​*/
パブリック関数 checkcart() {
$tmparray = $this->カートビュー(); if (count($tmparray[0]) false を返します。 }
true を返します。 }
/**
*製品統計
*
* @return array 1次元配列を返します $arr[0]: 商品1の合計価格 $arr[1: 商品2の合計価格 $arr[2]: 商品3の合計価格 $arr[3] : 商品3の合計金額
​*/
パブリック関数 countprice() {
$tmparray = $this->cartarray = $this->cartview(); $outarray = array() //一次元配列
; // 0 は商品 1 の合計価格です
// 1 は製品 2 の合計価格です
// 2 は製品 3 の合計価格です
// 3 は商品の合計数量です
$i = 0; if (is_array($tmparray[0])) {
foreach ($tmparray[0] as $key=>$val) {
$outarray[0] += $tmparray[2][$key] * $tmparray[5][$key]
$outarray[1] += $tmparray[3][$key] * $tmparray[5][$key]; $outarray[2] += $tmparray[4][$key] * $tmparray[5][$key]; $outarray[3] += $tmparray[5][$key]; $i++; }
}
$outarray を返します。 }
/**
*商品の数を数えます
*
* @return int
​*/
パブリック関数 cartcount() {
$tmparray = $this->カートビュー(); $tmpcount = カウント($tmparray[0]); $this->カート数 = $tmpcount; $tmpcount を返します
}
/**
* 製品を保存する 施工方法を使用しない場合は、この方法を使用する必要があります
*
​*/
パブリック関数 save() {
$tmparray = $this->cartarray
$tmpserialize = シリアル化($tmparray); setcookie("cartapi",$tmpserialize,time()+$this->期限切れになります); }
/**
* ショッピングカート内の商品が存在するか確認してください
*
* @param int $id
* @return bool trueの場合、それ以外の場合はfalse
​*/
プライベート関数 checkitem($id) {
$tmparray = $this->cartarray
if (!is_array($tmparray[0]))
を返す foreach ($tmparray[0] as $item) {
if ($item === $id) は true を返します
}
false を返します。 }
}
?>


この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。




http://www.bkjia.com/PHPjc/925132.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/925132.html

技術記事

PHP は Cookie を使用してショッピング カートを実装します。 Cookie ショッピング カート この記事では、PHP が Cookie を使用してショッピング カートを実装する方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです: p...


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