2011-08-02 56 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路径,它工作。

相关问题