我是新來的PHP(只玩過它幾個月),我正在建立一個朋友一個非常簡單的電子商務網站,我正在爲此構建一個平等的簡單的購物車。更新購物車的會話變量
這裏是購物車的基本概念:目前,用戶瀏覽產品頁面(基於productID),選擇一個項目的顏色(選擇ProdOptID,這對每一個項目都是唯一的),然後提交該信息通過表單發佈到$ _SESSION ['Cart']。然後這些信息被用來訪問一個mysql數據庫來提取所有剩下的產品信息,然後顯示在一個迷你購物車中。到目前爲止,它工作正常。只有當我嘗試創建一個評論/編輯頁面時,我會被絆倒。出於某種原因,我只能更新最後一個。任何人有任何想法或發現任何問題?
的審查/編輯頁面代碼:
<div class="ReviewCheckout_Main">
<h1 class="ReviewCheckout_Title">Review Your Cart</h1>
<div class="ReviewCheckout_Form">
<form action="/BeautifulUrns/includes/ReviewCheckout_Processing.php" method="post">
<?php
if (isset($_SESSION['Cart'])) {
foreach ($_SESSION['Cart'] as $ID => $QTY){
$Query = "SELECT *
FROM ProductsOptions
LEFT OUTER JOIN Products
ON ProductsOptions.ProductID=Products.ProductID
WHERE ProdOptID = $ID";
$Result = mysql_query($Query, $Connection);
$Row = mysql_fetch_array($Result);
echo "<input type='text' name='Edit_Qty' value=" . $QTY . " />";
echo "<b>" . $Row['ProductName'] . "</b> ";
echo "<b> - " . $Row['POName'] . "</b> ";
echo "<input type='hidden' name='Edit_ID' value='{$Row['ProductID']}' />";
echo "<input type='hidden' name='Edit_ProdOptID' value='{$Row['ProdOptID']}' />";
echo "<br />";
}
}
?>
<input type="submit" />
</form>
<a href="/BeautifulUrns/index.php">Return Home</a>
</div>
了代號爲處理頁面:
<?php session_start();
$ID = mysql_real_escape_string((int)$_POST['Edit_ProdOptID']); // GRABS PRODOPT ID
$PRODUCTID = mysql_real_escape_string((int)$_POST['Edit_ID']); //GRABS PRODUCT ID
$QTY = mysql_real_escape_string((int)$_POST['Edit_Qty']); // GRABS QUANTITY
if(isset($ID)) {
if (isset($QTY) && $QTY > 0){
if (isset($_SESSION['Cart'])) {
$_SESSION['Cart'][$ID] = $QTY;
}
else {
$_SESSION['Cart'] = NULL;
$_SESSION['Cart'][$ID] = $QTY;
}
}
}
?>