如何保留以前的echo值并在php下面回显另一个?

时间:2015-01-02 05:27:28

标签: php session

我正在创建一个购物车,但我的回音没有按预期显示。我不知道哪里出错了。

这是我的产品详情页面,



<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;
&#13;
&#13;

这是我的购物车php代码:

&#13;
&#13;
<?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;
&#13;
&#13;

我只能在添加到购物车页面时回应这一点。

产品:考拉

数:0

您的购物车

购物车(0)=产品:AkwardKoala-数量:1

我怎么能实现这个目标,

您的购物车

购物车(0)=产品:考拉数量:1

购物车(1)=产品:cat-Quantity:3

购物车(2)=产品:鱼 - 数量:1

1 个答案:

答案 0 :(得分:0)

这是错误的:

        if (isset($_SESSION['shoppingCart'])) {
            $_SESSION['shoppingCart'] = [];
        }

在已设置会话变量时,您将清空该会话变量。我想你想在设置时初始化它。所以它应该是:

        if (!isset($_SESSION['shoppingCart'])) {
            $_SESSION['shoppingCart'] = [];
        }

然后您可以将新项目添加到购物车,并保留所有旧项目。