我在下面有以下代码,但问题是它不起作用。该代码旨在更新用户输入的任何数量。
如果我回$type $size $quantity
显,我可以看到该值已发送。
foreach ($_SESSION["cart_array"] as $array_key=>$each_item)
我认为问题在于这个,但我似乎看不到它。
有人可以看看,看看他们是否能找到问题。谢谢
问题
如果我在表格中输入要更新的数字。它不会更新。
PHP
<?php
session_start();
?>
<?php
if (isset($_POST['item_to_adjust']) && isset($_POST['size']) && isset($_POST['type'])) {
$item_to_adjust = $_POST['item_to_adjust'];
$type = $_POST['type'];
$size = $_POST['size'];
$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; }
$i = 0;
foreach ($_SESSION["cart_array"] as $array_key=>$each_item) {
$i++;
if ($each_item['item_id'] == $item_to_adjust && $each_item['size'] == $size && $each_item['type'] == $type) {
$_SESSION["cart_array"][$array_key]['quantity']+=$quantity;
}
}
}
?>
HTML
<form action="cart.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="size" type="hidden" value="' . $each_item['length'] . '" />
<input name="type" type="hidden" value="' . $each_item['Category'] . '" />
<input name="item_to_adjust" type="hidden" value="' . $item_id . '" />
</form>