2011-08-02 109 views
0

我有以下的HTML/PHP/CSS/JavaScript頁面:顯示PHP代碼而不是被處理?

<html> 
<head> 
    <title>Test Guestbook</title> 
    <style type="text/css"> 
     #titles { 
      font-family: "Comic Sans MS"; 
      font-size: 15px; 
     } 
     #charremain { 
      font-family: "Comic Sans MS"; 
      font-size: 12px; 
     } 
     .tb { 
      border-top: #000000 1px solid; 
      border-bottom: #000000 1px solid; 
      border-left: #000000 1px solid; 
      border-right: #000000 1px solid; 
      background-color: "#000000"; 
      font-family: "Comic Sans MS"; 
      resize: none; 
     } 
     .submit { 
      background-color: #FFCC99; 
      font-family: "Comic Sans MS"; 
     } 
     table { 
      text-align: center; 
      width: 100%; 
     } 
    </style> 
    <script type="text/javascript"> 
     function count(x){ 
      if(x <= 100) { 
       document.getElementById('remain').innerHTML = 100 - x; 
      } 
     } 
    </script> 
    <script type="text/javascript"> 
     function validate(form){ 
      if(form.post.value == "" || form.name.value == ""){ 
       alert("Please fill in all fields"); 
       return false; 
      } else { 
       return true; 
      } 
     } 
    </script> 
</head> 
<body bgcolor='#FFFCC'> 
    <div id='titles' align='center'> 
     <form action='test.php' method='POST' onSubmit='return validate(this);'> 
     Submit a post: <br \> 
     <textarea id='post' class='tb' cols='25' rows='3' name='post' maxLength='100' onKeyUp="count(this.value.length)"></textarea> 
     <p id='charremain'>Characters Remaining: <span id='remain'>100</span></p> 
     Your name: <input class='tb' type='text' name='name' id='name'><br \> 
     <input class='submit' type='submit' value='Submit'><br \> 
     </form> 
     <br \><br \> 
     <H2>Current Posts:</H2> 
    </div> 
    <?php 
     $con = mysql_connect('localhost','root','') or die("Could not connect to localhost, check connection!"); 
     mysql_select_db('test') or die("Could not find database"); 

     $sql = mysql_query("SELECT * FROM `posts`"); 
     $sqlCnt = mysql_num_rows($sql); 

     if($sqlCnt != 0) { 
      echo "<table align='center'> 
        <tr><td><u><H4>Message</H4></u></td> 
        <td><u><H4>Poster</H4></u></td></tr>"; 
      while($row = mysql_fetch_array($sql)) { 
       echo "<tr><td>"; 
       echo $row['message']; 
       echo "</td><td>"; 
       echo $row['poster'] 
       echo "</td></tr>"; 
      } 
     } else { 
      echo "<div align='center'>Sorry, no posts found!</div>"; 
     } 
    ?> 
    </table> 
</body> 

而是繼續到while()循環中,網頁後顯示的一切,當它應該處理它。有任何想法嗎?

更新: 我添加了缺少的分號,但沒有運氣。這是一個HTML文件,這裏是我所看到的截圖: 的if()語句的else部分正在工作,但是當$sqlCount != 0不處理代碼:2

http://img846.imageshack.us/img846/9867/phpx.png

更新。在第一個echo聲明的第3行聲明</tr>之後的所有內容都被迴應出來,從右括號開始。

+0

請說明「網頁後顯示的內容」。什麼是「一切」?你在瀏覽器中看到PHP代碼嗎? –

+2

這是一個.php文件嗎?另外,你在echo $ row ['poster']'上丟失了一個分號。 –

+0

如果你看看頁面的來源,你看到那裏有起始的<?php'嗎? – Wrikken

回答

2

確保您的文件名以PHP腳本有效的擴展名結尾(例如:.php)。

還要確保您的網絡服務器(Apache等)正在加載PHP模塊。

2

我想我找到它:

echo $row['poster'] 

缺少最後一個分號。

+0

分號:))) –

+0

他們每次都得到雅:) –

+0

嗯。這不會產生[解析錯誤](http://codepad.org/hb1hheHj)? –

2

如果你的Apache一定要檢查你的php.ini的錯誤報告,並添加:

ini_set('display_errors', 1); 
ini_set('log_errors', 1); 
ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); 
error_reporting(E_ALL); 
  • 的display_errors(我們希望它是上或1)
  • display_startup_errors(我們希望它通或1)
  • log_errors(我們希望它是上或1)
  • error_log中(它應該是什麼,但未定義)
  • error_r eporting(它應該是2047或更大)

這將使調試更容易!

2

這發生在我通過AS3中的相對路徑請求localhost php文件時,我使用了完整的URL路徑,它工作。

相關問題