1

ここでphpチュートリアルに従っています

コード

これが私のhtmlファイルです:

    <!DOCTYPE html>
    <html>
    <head>

        <link rel=”stylesheet” type=”text/css” href=”style.css”&gt;

        <form action="postForm.php" method="post">

        <TextArea name="microBlog" id="microBlog" cols="30" rows=“10"></TextArea>  

        <input type="submit">          

        </form>

    </head>

    <body>

        <?php          

            require_once 'meekrodb.2.3.class.php';          
            DB::$user = 'root';          
            DB::$password = '';          
            DB::$dbName = 'MicroBlog';          
            $results = DB::query("SELECT post FROM MicroBlog");          
            foreach ($results as $row){                  

                echo "<div class='microBlog'>" . $row['post'] . "</div>";          
            }          

        ?>  


    </body>

    </html>

これにより、次の結果が得られます。

ここに画像の説明を入力

ただし、php コードを新しい postForm.php ファイルにコピーして [送信] をクリックすると (アクションは postForm.php であることがわかります)、動作します。

(データベースから) 3 つの単語を含む空白の画面が表示されます。

問題は、それが真新しい空白のページであり、私はそれを望まないことです.

問題

コードが html ファイルの外部では機能するのに、html ファイルの内部では機能しないのはなぜですか。".row['post']."";} ?>HTMLファイル内では取得できるのに、phpが独自のphpファイルに存在する場合は完全な出力が得られるのはなぜですか?

コードに問題がないことは明らかですが、何が原因でしょうか?

それは本当に私を混乱させます。回答ありがとうございます。

4

3 に答える 3

2

ファイル拡張子.html.phpまたはに変更します.phtml。それはあなたの問題を解決します。

于 2015-06-17T11:02:22.067 に答える
0

理由: 1. html ファイルはその内部で php スクリプトをサポートしていないため、書かれたものは実行されず、html マークアップとしてのみ扱われます。

解決策: 1. .html ファイルを .php ファイルとして保存するだけで完了です!(非常に簡単です)。たとえば、ファイル名が index.html の場合、それを index.php として保存すると、内部のすべての php スクリプトが次のようになります。実行されました。

index.php:

<!DOCTYPE html>
    <html>
    <head>

        <link rel=”stylesheet” type=”text/css” href=”style.css”&gt;

        <form action="postForm.php" method="post">

        <textArea name="microBlog" id="microBlog" cols="30" rows=“10"></textArea>  

        <input type="submit">          

        </form>

    </head>

    <body>

        <?php          

            require_once 'meekrodb.2.3.class.php';          
            DB::$user = 'root';          
            DB::$password = '';          
            DB::$dbName = 'MicroBlog';          
            $results = DB::query("SELECT post FROM MicroBlog");          
            foreach ($results as $row){                  

                echo "<div class='microBlog'>" . $row['post'] . "</div>";          
            }          

        ?>  


    </body>

    </html>
于 2015-06-17T11:08:30.517 に答える