以下PHP验证代码有效但是如果我回到产品页面添加更多相同的产品,它可以覆盖 out'在数量不可用时在购物车页面上
以下显示链接到$ cart会话数据的if语句以及存储在表中的$ film quantity。
出于某种原因,$ film ['数量']的值为1,因此如果将数量> 1添加到购物车' out'显示哪个错了?
<?php $itemcount = $_SESSION['itemcount'];
if($cart[QUANTITY][$i] > $table['quantity'] ) { ?>
<span style="font-family:'arial';">Out </span>
<?php } ?>
答案 0 :(得分:1)
显示的代码很难说出问题所在。然而,这里有一个很好的嫌疑人:
if($cart[QUANTITY][$i] > $film['quantity'] ) {
我怀疑它应该是:
if($cart[$i]['QUANTITY'] > $film['quantity'] ) {
其他可能不对的事情:
session_start()
编辑吗?QUANTITY
不是quantity
(案例很重要)QUANTITY
吗? (行情很重要)答案 1 :(得分:0)
我认为它会对你有所帮助:
<?php
echo $product_image;
echo $product_count;
echo $product_price;
echo "<form method='post' action=''>";
echo "<input type='text' name='product_shopping_count' />";
echo "<input type='hidden' name='product_id' value='".$product_id."' />";
echo "<input type='submit' name='addCart' value='AddCart' />";
echo "</form>";
if(isset($_POST['addCart']){
if(isset($_SESSION['cart']){
$cart = $_SESSION['cart'];
if($cart[$_POST['product_id']]['quantity']>$product_count){
echo "<span style='font-family:arial;font-size:16px;'>Out </span>";
}else if($_POST['product_shopping_count']>$product_count){
echo "<span style='font-family:arial;font-size:16px;'>Out </span>";
}else {
$cart['product_id']= $_POST['product_id'];
$cart['product_id']['quantity'] = $_POST['product_shopping_count'];
$cart['product_id']['price'] = $product_price;
$_SESSION['cart'] = $cart;
}
}
}
?>