提问者:小点点

在php中使用会话(本地存储)的购物车


我正在尝试创建一个简单的购物车。

主要问题
页面insertCart。php总是在查看购物车上添加一个产品,而不添加另一个。

次要问题:

  • 如何在查看购物车上显示产品的图像
  • 如何使用会话在购物车上添加多个项目
  • 如何计算增加的产品总量

使用会话,我试图从产品详细信息页面获取数据,当用户单击按钮添加到购物车时,产品项目将被添加。

这是我目前为止使用的代码

insertCart.php
<?php
    //start session
    session_start();
    include('connection/db.php');
    //get the values
    $name     = $_POST['name'];
    $price    = $_POST['price'];
    $quantity = $_POST['qty'];
    $image    = $_POST['image'];
    //storing values in an array and assign it to a variable
    $product  = array($name, $price, $quantity,$image);
    //store arrays values in session varialbe '$name'
    $_SESSION['$name'] = $product;
    header('location: view_cart.php');
?>

共1个答案

匿名用户

你用单引号写了'$name',这意味着“不要解释这个字符串中的特殊字符,尤其是不要插入任何变量,即使我使用$符号”。所以每次运行的结果都是一样的。

要将变量扩展为字符串,需要双引号:

$_SESSION["$name"] = $product;

但是,由于您只是使用名称本身,因此在这种情况下,您根本不需要引号:

$_SESSION[$name] = $product;