php cart缺货mysql

时间:2016-03-10 04:52:33

标签: php mysql

以下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 } ?>

2 个答案:

答案 0 :(得分:1)

显示的代码很难说出问题所在。然而,这里有一个很好的嫌疑人:

if($cart[QUANTITY][$i] > $film['quantity'] ) {

我怀疑它应该是:

if($cart[$i]['QUANTITY'] > $film['quantity'] ) {

其他可能不对的事情:

  1. 你有session_start()编辑吗?
  2. QUANTITY不是quantity(案例很重要)
  3. 你碰巧在某处定义了一个常数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; 
        }
     }
  }
?>