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