Php 在会话中保存变量值,如使用单一表单的购物车

Php 在会话中保存变量值,如使用单一表单的购物车,php,Php,我在5页的侧边栏中有一个简单的表单,其中有两个字段name和price。我想在用户提交表单时在会话中保存它的值。当我在提交表单后将其值存储在会话中时,每次它都会替换名称。但我想像数组一样存储名称值。若用户使用用户名user1提交表单,然后使用用户名user2再次提交,那个么我希望在会话变量中显示这两个名称,并希望显示表单提交的增量。比如购物车功能。有没有办法用一个表单来存储这些值。请帮帮我 <form id="myform" action="post.php" method="POST"

我在5页的侧边栏中有一个简单的表单,其中有两个字段name和price。我想在用户提交表单时在会话中保存它的值。当我在提交表单后将其值存储在会话中时,每次它都会替换名称。但我想像数组一样存储名称值。若用户使用用户名user1提交表单,然后使用用户名user2再次提交,那个么我希望在会话变量中显示这两个名称,并希望显示表单提交的增量。比如购物车功能。有没有办法用一个表单来存储这些值。请帮帮我

 <form id="myform" action="post.php" method="POST">
<div class="row">
    <label for="name">Your name:</label><br />
    <input id="name" class="input" name="name" type="text" value=""  size="30" /><br />
</div>
<div class="row">
    <label for="price">Price:</label><br />
    <input id="price" class="input" name="price" type="text" value="" size="30" /><br />
</div>

<input id="submit_button" type="submit" value="submit" />
 </form>     

post.php
session_start();

$_SESSION['cart_items'] = array(); 
$_SESSION['cart_items'] = $_POST['name'];

foreach($_SESSION["cart_items"] as $cart_item)
{
    echo $cart_item;
}

您的姓名:

价格:

post.php 会话_start(); $\u会话['cart\u items']=array(); $_SESSION['cart\u items']=$_POST['name']; foreach($\会话[“购物车项目”]作为$cart\u项目) { echo$cart_项目; }
尝试通过以下方式向会话添加值

session_start();
foreach ($_SESSION["products"] as $cart_itm) //loop through session array
        {
            if($cart_item["code"] == $product_code){ //the item exist in array

            $product[] = array('name'=>$cart_item["name"], 'code'=>$cart_item["code"], 'qty'=>$product_qty, 'price'=>$cart_item["price"]);
            $found = true;
        }else{
            //item doesn't exist in the list, just retrieve old info and prepare array for session var
            $product[] = array('name'=>$cart_item["name"], 'price'=>$cart_item["price"]);
        }
    }
将结果添加到

foreach ($_SESSION["cart"] as $cart_item)
{
echo $cart_item["price"];
$subtotal = ($cart_item["price"]*$cart_item["qty"]);
$total = ($total + $subtotal);
}
echo $total;

但是当我打印$_SESSION['cart']时,它只显示此购物车中的单个值。在
foreach
函数中使用echo变量,则只显示会话中的所有数组值…请参阅此示例,它显示警告:为foreach()提供的参数无效。如果有其他解决方案,请提供帮助。