2011-08-02 9 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> 

代わりの進行を、Webページには、後にすべてのものを表示します。何か案は?

更新: 私は行方不明のセミコロンを追加しましたが、運はありません。それをHTMLファイルであり、ここでは私が見るもののスクリーンショットです:

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

アップデート2: if()文のelse部分が動作しているが、$sqlCount != 0コードが処理されていない場合。最初のechoステートメントの3行目の</tr>ステートメントの後のすべてが、閉じ括弧で始まるようにエコーアウトされます。

+0

「ウェブページにすべての後に表示されます」を明記してください。 「すべて」とは何ですか?あなたのWebブラウザにPHPコードが表示されていますか? –

+2

これは.phpファイルですか?また、 'echo $ row ['poster']'にセミコロンがありません。 –

+0

ページのソースを見ると、その中に '<?php'が始まっていますか? – Wrikken

答えて

2

ファイル名の末尾がPHPスクリプト(例:.php)に有効であることを確認してください。

また、Webサーバー(Apacheなど)がPHPモジュールをロードしていることを確認してください。

2

は、私はそれを見つけたと思う:

echo $row['poster'] 

は最後のセミコロンが欠落しています。

+0

セミコロン:))) –

+0

彼らはいつもいつも得る: –

+0

Hmmm。これは[解析エラー](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(我々はそれをしたいですerror_logを(それは未定義何でもする必要があります)
  • error_rオンまたは1)
  • あるいはlog_errors(私たちが望む、それは上にあるようにまたは1)
  • されるようにeporting(それは2047以上である必要があります)

デバッグが非常に簡単になります!

2

これは、AS3の相対パスでlocalhost PHPファイルを要求したときに私に起こりました。その後、完全なURLパスが使用されていました。

関連する問題