【发布时间】:2019-05-29 08:00:51
【问题描述】:
大家好,新年快乐! 我使用 php 会话...我有一个购物车...我想通过会话更新数量... 这是我在主文件中的更新操作
if(isset($_POST["update"]))
{
if ($_SESSION["item_id"] = $_GET["id"])
{
$_SESSION['quantity'] = $_POST['quantity'];
}
}
这是在 foreach 循环中显示选中产品的表单
$total = 0;
foreach ($_SESSION['cart'] as $item) {
?>
<tr>
<td><?php echo $item['name']; ?></td>
<td>
<form method="post" action="index2.php?action=update&id=<?php echo
$item["item_id"]; ?>">
<input type="text" name="quantity" value="1" class="form-control" />
<input type="submit" name="update" style="margin-top:5px;" class="btn btn-success" value="update" />
</form>
<?php echo $_SESSION['quantity']; //here I try to dislpay the new quantity that the user sets
echo $item["item_id"]; ?></td>
问题
它改变了购物篮中所有产品的数量,而不是我想要的特定产品的数量。
请原谅我,因为我是新的再见。
【问题讨论】:
-
Ummm - 看起来 就像您在会话中只有一个 quantity 值...而 item_id 是看起来也很标量......?
-
是的,会话从之前的添加到购物篮表单中获取价值。我想要的只是改变会话的价值!
-
会话是基于用户的。您只有 1 个数量会话变量,因此如果您更改它,那么您使用它的任何地方都将具有该用户浏览器会话的值。对于每个数量,您可能需要一个不同的变量,或者可能需要一个带有值的数组。