|
目前使用購物車的範例來修改練習,但是按下加入購物車時,跑不出加入的產品資料,只能顯示目前購物車內沒有產品
cartProduct.php if(!is_object($cart)) { $cart = new wfCart(); } // 加入購物車button,新增選擇產品至購物車,判斷$_POST["cartaction"] if(isset($_POST["cartaction"]) && ($_POST["cartaction"]=="add")) { $cart->add_item($_POST['pid'],$_POST['qy'],$_POST['price'],$_POST['pname']);
header("Location: cartMy.php"); }
echo "<form name='formToCartMy' method='post' action=''>"; echo "<input name='pname' type='' id='pid' value='".$row_RecProduct["pid"]."'>"; echo "<input name='pname' type='' id='pname' value='".$row_RecProduct["pname"]."'>"; echo "<input name='price' type='' id='price' value='".$row_RecProduct["price"]."'>"; echo "<input name='qy' type='' id='qy' value='1'>";//default buy value is one. echo "<input name='cartaction' type='' id='cartaction' value='add'>"; echo "<input type='submit' name='button3' id='button3' value='加入購物車'>"; echo "<input type='button' name='button4' id='button4' value='回上一頁' onClick='window.history.back();'>"; echo "</form>"; ----------------------------- libShoppingCart.php
function get_contents() { $items = array(); //使用foreach將items中的每筆資料暫存於item中,最後將資料回存至items foreach($this->items as $tmp_item) { $item = FALSE;//將item歸零 $item['id'] = $tmp_item; $item['qty'] = $this->itemqtys[$tmp_item]; $item['price'] = $this->itemprices[$tmp_item]; $item['info'] = $this->iteminfo[$tmp_item]; $item['subtotal'] = $item['qty'] * $item['price']; $items[] = $item; } return $items; }
// 新增產品至購物車 adds an item to cart // 從cartProduct導入 產品編號 數量 價錢 產品名稱 function add_item($itemid,$qty=1,$price = FALSE, $info = FALSE) { // 判斷購物車中是否有此筆資料,如果有則更新數量,沒有則新增產品資料到購物車的陣列之中 if($this->itemqtys[$itemid] > 0) { $this->itemqtys[$itemid] = $qty + $this->itemqtys[$itemid]; $this->_update_total(); } else { $this->items[]=$itemid; $this->itemqtys[$itemid] = $qty; $this->itemprices[$itemid] = $price; $this->iteminfo[$itemid] = $info; }
$this->_update_total(); } function _update_total() { $this->itemcount = 0; //itemcount計次用 $this->total = 0; if(sizeof($this->items > 0)) //sizeof()計算指定陣列中的元素項目 { foreach($this->items as $item) // 計算購物車內不含運費之總金額 { $this->total = $this->total + ($this->itemprices[$item] * $this->itemqtys[$item]); $this->itemcount++; } } if($this->total >= 1000) { $this->deliverfee = 0; } else { $this->deliverfee = 500; } $this->grandtotal = $this->total+$this->deliverfee; }
麻煩老師幫忙解答,完整檔案以mail至您的信箱,謝謝!
|