0

我有PHP一个如下所示的代码。这个想法是让用户能够输入金额以及何时单击update该项目将更新。但问题是,我的代码不起作用。

php

<?php
session_start() 
?>

<?php
 if(isset($_POST['pid']) && isset($_POST['length']) && isset($_POST['Qty']) && isset($_POST['Category'])){   

 $pid = $_POST['pid'];
$length = $_POST["length"];
$qty = $_POST['Qty'];
$Category = $_POST['Category'];
    **They are more codes below in this PHP tag which just check if the
    item the user is adding is already in the basket and if not it should add it.**

  }
 ?>

调整项目的数量(这是我遇到问题的代码)

 <?php

if (isset($_POST['item_to_adjust']) && $_POST['item_to_adjust'] != "") {
    // execute some code
    $item_to_adjust = $_POST['item_to_adjust'];
    $quantity = $_POST['quantity'];
    $quantity = preg_replace('#[^0-9]#i', '', $quantity); // filter everything but numbers
    if ($quantity >= 100) { $quantity = 99; }
    if ($quantity < 1) { $quantity = 1; }
    if ($quantity == "") { $quantity = 1; }
    foreach ($_SESSION["cart_array"] as $array_key=>$each_item) { 
              if ($each_item['item_id'] == $item_to_adjust  && $each_item['length'] == $length && $each_item['Category'] == $Category) {
                      $_SESSION["cart_array"][$array_key]['quantity']+=$quantity;
                  } 
              } 
}
?> 

HTML

<form action="check.php" method="post">
<input name="quantity" type="text" value="' . $each_item['quantity'] . '" size="1" maxlength="2" />
        <input name="adjustBtn' . $item_id . '" type="submit" value="Update" />
        <input name="item_to_adjust" type="hidden" value="' . $item_id . '" />
        </form>

我已经尝试过了

我已经echo拿出$quantity来看看我输入的金额是否通过了,它有。所以我知道这部分代码是有效的。

问题 我认为这与我的foreach陈述有关,但我找不到。我已经尝试了我所知道的一切,但我找不到任何东西。

请帮我。

4

1 回答 1

0

您的表单中缺少类别和长度值。在当前情况下,您在 foreach 中的条件是错误的。

于 2013-07-13T23:35:18.080 回答