セッション|ショッピングカート
最大の特徴は、セッションが 1 つだけ使用されていることです。 {
var $sortCount; //商品カテゴリの数
var $totalCost; //商品の合計金額
/* 例: $myCart[5][$name]: 商品番号 5 の名前
* myCart[5][$price]: 商品番号 5 の単価
* 合計金額
*/
var $myCart ; // 各商品の ID (配列)
var $ Name; //各種類の製品の名前 (配列)
var $Price //各種類の製品の価格 (配列)
var $Count; //各種類の製品の個数 (配列)
var $Cost; ; cart(){
$this->sortCount = 0 ;
$this->myCart = array() ;
session_start(); // セッションを初期化します
if( session_is_registered ("myCart")==false) session_register('myCart');
$this->update();
}
//*** ** ***プライベート、セッション
関数の値に従ってクラス内の対応するデータを更新します update(){
session_start(); //セッションを初期化します
$myCart = $_SESSION["myCart"] ;
if(false==$myCart )
$this->sortCount = }
//商品の合計数量を取得します
$this->sortCount=count($myCart)
if($this ->ソート数> 0)
> ")//各アイテムの金額を計算します
$myCart[$key]["cost"] =round($val["count"]*$val["price"], 2)
$totalCost += $myCart[$ key]["コスト"] = $myCart ; t ; foreach($val as $sName=>$sValue) $data を返します ;
}
//**
* 数値を通貨データとしてフォーマットします
*
*
**/
function addData( $data)
{
if(count($data > 0))
{
session_start(); //セッションを初期化します
$myCart数量
$myCart[$id]["name" ] = $name ;
$myCart[$id]["価格"] = $価格 ;
$myCart[$id]["count"] = $count ; }
}
/*
* 商品の単価を変更します
*
*
*
**/
function updatePrice($id, $price)
{
if($price session_start (); //セッションを初期化します
$myCart = $_SESSION["myCart"] ;
if($myCart[$id]==true)
{
$myCart[$id]["price"]=$price
$_SESSION["myCart"] = $myCart $ count = $ this->myCart[$id]["count"] ;
if($count>0)
{
$this->modifyCount($id, --$count) ;
}
}
// 単価が渡された場合、商品の数を変更します。単価も一緒に変更されます
functionmodifyCount($id, $ncount, $price=0)
{
if($ncount session_start() //セッションを初期化します
$myCart = $_SESSION["myCart"] ;
if($myCart[$id]==true)
{
$myCart[$id]["count"]=$ ncount;
単価も一緒に変更できます
if ( $price >0) $myCart[$id]["price"]=$price; myCart ;
$this->update(); }
}
// 商品を空にする
関数 emptyOne($ i)
{
session_start(); // セッションを初期化します
$myCart = $_SESSION ["myCart"] ;
unset($myCart[$i])
if(count($myCart)==0) ;
{
$this->emptyAll() ;
}else{
$_SESSION[" myCart"] = $myCart ;
$this->update()
}
}
/*************************
すべての製品をクリアする
PHP は win では session_destroy() 関数をサポートしていないため、このクリア関数は完璧ではありません。
各商品の番号を0に設定するだけです。
Linux を使用している場合は、session_destroy() を直接使用できます。
**************************** */
function emptyAll()
{
s session_start(); // セッションを初期化します
$myCart = $_SESSION["myCart"] ;
unset($myCart) ;マイカート ;$this->update();
$this-> ;
; }else{
; ,cost
function getOne($i){
$data = $this->myCart[$i] ;
if(false==$data) return array() ;
$data["id"] = $ i ;
}
//商品の合計値を取得する
function getTotalCost( ){
return $this- >合計コスト
}
//クラスを終了
}