2013-05-28 49 views
0

IM建立一個網站,有一個基本的在線商店,並即時存儲一些數據到一個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文件中的Cart部分,我試圖顯示會話中找到的數據。我已經寫了名爲「displaycart.php」這個代碼INA文件,但它不工作:

<?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:在d語法錯誤,意外 '<':現在的錯誤彈出: 解析錯誤\第4行託管\ 10835947 \ HTML \ worldwideconnect \ PHP \ displaycart.php

+0

你調用'在session_start()'地方? – andrewsi

+0

yes yes ofcourse ....它在html文件的開頭叫做 – user2415416

+0

是'<! - ? include =「」php =「」displaycart =「」 - >'應該包含'displaycart.php'? – andrewsi

回答

0

嘗試更改products.htmlproducts.php。這指示服務器運行php代碼。

否則,您需要告訴服務器運行.html文件爲php。

編輯:

看看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 
    } 
?> 
+0

所以只需重命名文件並重定向到它? – user2415416

+0

是的。默認情況下,大多數Web服務器設置不會在HTML文件中處理php代碼。 –

+0

好吧,所以重命名文件.php讓我現在的地方,因爲現在錯誤顯示在displaycart.php: 解析錯誤:語法錯誤,意外的'<'在D:\ Hosting \ 10835947 \ html \ worldwideconnect \ php \ displaycart。在線4上的PHP – user2415416