0

shoppingcart.php好的,我在尝试编写这段代码时遇到了很大的困难。我将尝试将其分解,以便于理解:

  • 首先我用来从一个单独的 文件$_GET中获取一个和数量。itemIDstore.php
  • 我像这样初始化一个SESSION数组:$_SESSION['cart'] = array();
  • 我检查数量itemID是否有效,如果有效,我将它们添加到会话数组中。
  • 我在表格中显示会话数组中的所有内容。

我有两个问题。

首先,如果我返回并选择其他项目,会话数组不会保存旧项目。**

其次,如果我直接cart.php查看文件,"view my cart"它会说那里什么都没有。如果我填写表格store.php并点击提交,它只会显示一些内容。然后它只显示一件事。

这是代码cart.php 和 store.php):

感谢您提供的任何帮助。

4

2 回答 2

0

我想调查一下,可能会有所帮助:

$product_id = $_GET['id']; //the product id from the URL
$action = $_GET['action']; //the action from the URL

//if there is an product_id and that product_id doesn't exist display an error message
if($product_id && !productExists($product_id)) {
    die("Error. Product Doesn't Exist");
}

switch($action) { //decide what to do

    case "add":
        $_SESSION['cart'][$product_id]++; //add one to the quantity of the product with id $product_id
    break;

    case "remove":
        $_SESSION['cart'][$product_id]--; //remove one from the quantity of the product with id $product_id
        if($_SESSION['cart'][$product_id] == 0) unset($_SESSION['cart'][$product_id]); //if the quantity is zero, remove it completely (using the 'unset' function) - otherwise is will show zero, then -1, -2 etc when the user keeps removing items.
    break;

    case "empty":
        unset($_SESSION['cart']); //unset the whole cart, i.e. empty the cart.
    break;

}

?>

这里

于 2013-03-23T05:19:23.323 回答
0

您的问题的可能答案

首先:要保留所有值,请使用 $_SESSION['cart'][] 而不是 $_SESSION['cart'] ;使其成为多维的,否则它将覆盖您的值

第二:cart.php 将如何显示商品?您正在初始化 $_SESSION['cart'] = array(); 在页面的开头..它正在清空你的旧值..如果你直接来到 cart.php

希望对你有帮助

于 2013-03-23T05:19:37.557 回答