0

我正在建立一个具有基本在线商店的网站,并将一些数据存储到 php 会话中:

prod_ids - 保存产品 ID 的数组 prod_count - 保存所需产品数量的数组 prod_price - 保存产品价格的数组

我用我创建的这段代码在会话中插入数据:

<?php 
    $found = false;
    if (isset($_GET["product_id"]))
    { 
        //$_SESSION['prod_ids'] contains product IDs 
        //$_SESSION['prod_counts'] contains item quantities ($_SESSION['counts'][$i] corresponds to $_SESSION['gids'][$i])
        if (!isset($_SESSION["prod_ids"])) 
        { 
            $_SESSION["prod_ids"] = array(); 
            $_SESSION["prod_counts"] = array();
            $_SESSION["prod_prices"] = array(); 
        } 
        //check for current product in visitor's shopping cart content 
        $i=0; 
        while (($i<count($_SESSION["prod_ids"]))&& ($found != true)){  
            if (strcmp($_SESSION["prod_ids"][$i],$_GET["product_id"]) == 0) //increase current product's item quantity 
            { 
                $_SESSION["prod_counts"][$i]= $_SESSION["prod_counts"][$i]+ $_GET["product_amount"]; 
                $found = true;
            } 
            $i++;
        }
        if ($found != true){

                $_SESSION["prod_ids"][$i] = $_GET["product_id"]; 
                $_SESSION["prod_counts"][$i] = $_GET["product_amount"]; 
                $_SESSION["prod_prices"][$i] = $_GET["product_price"]; 
        }
    } 
    header('Location: ../products.html');
?>

这成功运行,并再次加载 products.html。在此 html 文件中的购物车部分中,我试图显示在会话中找到的数据。我已经在一个名为“displaycart.php”的文件中编写了这段代码,但它不起作用:

<?php 
    for ($i=0; $i<=count($_SESSION['prod_ids']); $i++)
  {
    <tr>
        <td>$_SESSION["prod_ids"][$i]</td>
        <td>$_SESSION["prod_counts"][$i]</td>
        <td>$_SESSION["prod_prices"][$i]</td>
    </tr>
  }
?>

有任何想法吗?这就是我在 products.html 中调用文件的方式:

<div id="shoppingcart" class="cart">
<h2>Cart</h2>
<!--? include="" php="" displaycart=""--> <!--?--></div>
</div>

谢谢您的帮助!

更新:将所有 html 文件更改为 .php:现在弹出错误:解析错误:语法错误,第 4 行 D:\Hosting\10835947\html\worldwideconnect\php\displaycart.php 中的意外 '<'

4

1 回答 1

0

尝试更改products.htmlproducts.php。这指示服务器运行 php 代码。

否则,您需要告诉服务器将 .html 文件作为 php 运行。

编辑:

查看如何在 *.html 或 *.htm 文件中运行 PHP 脚本

编辑:

您需要进行编辑display.php,以便返回 html 代码。您可以使用 echo 来执行此操作,例如。

<?php 
    for ($i=0; $i<=count($_SESSION['prod_ids']); $i++)
  {
    echo "<tr>
        <td>$_SESSION["prod_ids"][$i]</td>
        <td>$_SESSION["prod_counts"][$i]</td>
        <td>$_SESSION["prod_prices"][$i]</td>
    </tr>";
  }
?>

或者

<?php 
    for ($i=0; $i<=count($_SESSION['prod_ids']); $i++)
  {
?>
    <tr>
        <td>$_SESSION["prod_ids"][$i]</td>
        <td>$_SESSION["prod_counts"][$i]</td>
        <td>$_SESSION["prod_prices"][$i]</td>
    </tr>
<?php
  }
?>
于 2013-05-28T16:00:56.760 回答