【问题标题】:Update quantity In PHP Session Based Shopping Cart更新基于 PHP 会话的购物车中的数量
【发布时间】:2019-05-29 08:00:51
【问题描述】:

大家好,新年快乐! 我使用 php 会话...我有一个购物车...我想通过会话更新数量... 这是我在主文件中的更新操作

if(isset($_POST["update"]))
    { 
        if ($_SESSION["item_id"] = $_GET["id"])
             { 
          $_SESSION['quantity'] = $_POST['quantity'];
             }
    }

这是在 foreach 循环中显示选中产品的表单

  $total = 0;
     foreach ($_SESSION['cart'] as $item) {
    ?>
    <tr>
    <td><?php echo $item['name']; ?></td>
    <td>
    <form method="post" action="index2.php?action=update&id=<?php echo 
     $item["item_id"]; ?>">

     <input type="text" name="quantity" value="1" class="form-control" />
    <input type="submit" name="update" style="margin-top:5px;" class="btn btn-success" value="update" />
              </form>
<?php   echo  $_SESSION['quantity'];  //here I try to dislpay the new quantity that the user sets
 echo $item["item_id"]; ?></td>

问题

它改变了购物篮中所有产品的数量,而不是我想要的特定产品的数量。

请原谅我,因为我是新的再见。

【问题讨论】:

  • Ummm - 看起来 就像您在会话中只有一个 quantity 值...而 item_id 是看起来也很标量......?
  • 是的,会话从之前的添加到购物篮表单中获取价值。我想要的只是改变会话的价值!
  • 会话是基于用户的。您只有 1 个数量会话变量,因此如果您更改它,那么您使用它的任何地方都将具有该用户浏览器会话的值。对于每个数量,您可能需要一个不同的变量,或者可能需要一个带有值的数组。

标签: php forms session


【解决方案1】:

我使用项目 ID 向 $_SESSION 数组添加了一个维度:

$_SESSION['item'][$_GET['id']]['quantity'] = $_POST['quantity'];

那么当更新表格中的数量时:

echo $_SESSION['item'][$item['item_id']]['quantity'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 2011-09-23
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多