从Php会话中显示数据

时间:2013-05-28 15:30:47

标签: html web shopping-cart php

即时建立一个拥有基本在线商店的网站,并将一些数据存储到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:现在出现错误: 解析错误:语法错误,意外'&lt;'在第4行的D:\ Hosting \ 10835947 \ html \ worldwideconnect \ php \ displaycart.php

1 个答案:

答案 0 :(得分:0)

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

否则你需要告诉服务器以php运行.html文件。

编辑:

查看How to Run PHP Scripts in *.html or *.htm Files

编辑:

您需要编辑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
  }
?>