2011-03-07 93 views
1

我想添加到產品加入購物車。請告訴我什麼是最好的方法。 我的亂碼是。新增項目進入加購物車

if(isset($_SESSION['id'])) { 
    echo "IF part"; 
    $_SESSION['id'] = $_SESSION['id'] + $_SESSION['id']; 
    $k = $_SESSION['id']; 
    // store session data 
$_SESSION[$k]['product_name']=$_REQUEST['product_name_value']; 
$_SESSION[$k]['product_price']=$_REQUEST['product_price_value']; 
$_SESSION[$k]['shop_name']=$_REQUEST['shop_name_value']; 
$_SESSION[$k]['Quantity']=$_REQUEST['selquantity']; 
$_SESSION[$k]['color']=$_REQUEST['txtcolor']; 
$_SESSION[$k]['Size']=$_REQUEST['selsize']; 
$_SESSION[$k]['Product_Type']=$_REQUEST['selproducttype']; 
$_SESSION[$k]['Remarks']=$_REQUEST['Remarks']; 
$_SESSION[$k]['final_price']=$_REQUEST['final_price_value']; 
$_SESSION[$k]['txturl']=$_REQUEST['txturl']; 

}else { 
    echo "else part"; 
    $_SESSION['id'] = 1; 
    // store session data 
    $_SESSION[$k]['product_name']=$_REQUEST['product_name_value']; 
    $_SESSION[$k]['product_price']=$_REQUEST['product_price_value']; 
    $_SESSION[$k]['shop_name']=$_REQUEST['shop_name_value']; 
    $_SESSION[$k]['Quantity']=$_REQUEST['selquantity']; 
    $_SESSION[$k]['color']=$_REQUEST['txtcolor']; 
    $_SESSION[$k]['Size']=$_REQUEST['selsize']; 
    $_SESSION[$k]['Product_Type']=$_REQUEST['selproducttype']; 
    $_SESSION[$k]['Remarks']=$_REQUEST['Remarks']; 
    $_SESSION[$k]['final_price']=$_REQUEST['final_price_value']; 
    $_SESSION[$k]['txturl']=$_REQUEST['txturl']; 
} 

我試圖將這些產品詳細信息添加到數組中。 感謝

+0

您知道'$ _REQUEST'可以包含'GET','POST'和'Cookies'的數據嗎? – Htbaa 2011-03-07 09:02:54

+0

@Htbaa,是的,我知道 – 2011-03-07 09:06:48

+1

我希望你也意識到可能存在的危險?此外,在這個例子中,有人可以很容易地修改'final_prize'來便宜或免費地購物。 – Htbaa 2011-03-07 09:23:41

回答

3

不要重複自己;)意味着如果你有兩行代碼是相同的檢查,如果你真的需要把它寫兩次!

if(!isset($_SESSION['cart'])) { 
    // create cart 
    $_SESSION['cart'] = array(); 
} 

// create item 
$item = array(); 

// fill item 

$item['product_name']=$_REQUEST['product_name_value']; 
$item['product_price']=$_REQUEST['product_price_value']; 
$item['shop_name']=$_REQUEST['shop_name_value']; 
$item['Quantity']=$_REQUEST['selquantity']; 
$item['color']=$_REQUEST['txtcolor']; 
$item['Size']=$_REQUEST['selsize']; 
$item['Product_Type']=$_REQUEST['selproducttype']; 
$item['Remarks']=$_REQUEST['Remarks']; 
$item['final_price']=$_REQUEST['final_price_value']; 
$item['txturl']=$_REQUEST['txturl']; 

// add item to cart 

$_SESSION['cart'][] = $item; 
+0

非常感謝你 – 2011-03-07 09:13:01

0

你應該首先做一些分解在你的代碼創建一個函數,將數據添加到$_SESSION

然後,這是不可能給你一個答案,沒有「最好的辦法」,只有有適合您需要的方式,你就可以找到它的唯一的一個。