php以给定的数量添加到篮子中

php以给定的数量添加到篮子中,php,session,post,cart,Php,Session,Post,Cart,我正在尝试制作一个简单的目录,包括购物篮中的添加和订购,但我有一个问题:在购物车中添加所需数量的产品时,所有产品都可以正常工作,但是如果我想添加另一个,那么就什么也没有了。它只是将数量更新为1 表格: 问题是您正在用新条目覆盖整个会话变量。而不是将条目添加到数组中 请尝试使用以下代码: <?php session_start(); if (isset($_POST['submit'])) { $productId = $_POST['productId']; $pr

我正在尝试制作一个简单的目录,包括购物篮中的添加和订购,但我有一个问题:在购物车中添加所需数量的产品时,所有产品都可以正常工作,但是如果我想添加另一个,那么就什么也没有了。它只是将数量更新为1

表格:



问题是您正在用新条目覆盖整个会话变量。而不是将条目添加到数组中

请尝试使用以下代码:

<?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/');

问题是您正在用新条目覆盖整个会话变量。而不是将条目添加到数组中

请尝试使用以下代码:

<?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/');

谢谢!我找到了解决方案:$\u会话['cart'][$productId]['quantity']+=$productQuantity;非常感谢。我找到了解决方案:$\u会话['cart'][$productId]['quantity']+=$productQuantity;
<?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/');