我正在创建一个购物车,但我的回音没有按预期显示。我不知道哪里出错了。
这是我的产品详情页面,
<form action="shoppingCart.php?addToCart=<?php echo $key ?>" method="post">
<select name="quantity">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="hidden" name="productName" value="<?php echo $key ?>">
<input type="submit" name="addToCart" value="Add to cart" class="btn btn-primary">
</form>
&#13;
这是我的购物车php代码:
<?php
session_start();
if (isset($_SESSION['shoppingCart'])) {
$_SESSION['shoppingCart'] = [];
}
if (isset($_POST['addToCart'])) {
echo "Product: " . $_POST['productName'] . "<br/>";
$count = count($_SESSION['shoppingCart']);
echo "count: $count<br/>";
$_SESSION['shoppingCart'][$count]['productName'] = $_POST['productName'];
$_SESSION['shoppingCart'][$count]['quantity'] = $_POST['quantity'];
echo "<h3>Your Cart</h3>";
if (empty($_SESSION['shoppingCart'])) {
echo "your cart is empty<br/>";
} else {
foreach ($_SESSION['shoppingCart'] as $key => $names) {
echo "cart($key) = product: " . $names['productName'] . "-Quantity: " . $names['quantity'] . "<br/>";
}
}
}
?>
&#13;
我只能在添加到购物车页面时回应这一点。
产品:考拉
数:0
您的购物车
购物车(0)=产品:AkwardKoala-数量:1
我怎么能实现这个目标,
您的购物车
购物车(0)=产品:考拉数量:1
购物车(1)=产品:cat-Quantity:3
购物车(2)=产品:鱼 - 数量:1
答案 0 :(得分:0)
这是错误的:
if (isset($_SESSION['shoppingCart'])) {
$_SESSION['shoppingCart'] = [];
}
在已设置会话变量时,您将清空该会话变量。我想你想在不设置时初始化它。所以它应该是:
if (!isset($_SESSION['shoppingCart'])) {
$_SESSION['shoppingCart'] = [];
}
然后您可以将新项目添加到购物车,并保留所有旧项目。