我试图在购物篮中添加一个简单的目录并订购,但我有一个问题:在购物车中添加所需数量的产品时一切正常,但如果我想添加另一个,然后没有出来。它只是将数量更新为1。
形式:
<form action="buy.php" method="post">
<input type="hidden" name="productId" value="<?php echo $product['id']; ?>">
<?php if ($product['quantity'] === 0): ?>
<button type="submit" name="submit" disabled="true">Not available</button>
<?php else: ?>
<inputtype="number" name="productQuantity" value="1">
<button type="submit" name="submit">Add to cart</button>
<?php endif; ?>
</form>
buy.php
<?php
session_start();
if (isset($_POST['submit'])) {
$productId = $_POST['productId'];
$productQuantity = $_POST['productQuantity'];
$_SESSION['cart'][$productId] = [
'quantity' => $productQuantity
];
}
header('Location: http://localhost:8000/');
答案 0 :(得分:0)
问题是您使用新条目覆盖整个会话变量。而不是将条目添加到数组。
尝试使用此代码:
<?php
session_start();
if (isset($_POST['submit'])) {
$productId = $_POST['productId'];
$productQuantity = $_POST['productQuantity'];
$_SESSION['cart'][] = array('id' => $productId, 'quantity' => $productQuantity);
}
header('Location: http://localhost:8000/');
使用此代码,您将拥有一个包含所有条目的数组。我认为以后也更容易使用。