php没有在html文件中运行但在外面工作

时间:2015-06-17 10:53:53

标签: php html mysql wamp meekro

我一直在关注php教程here

CODE

这是我的html文件:

    <!DOCTYPE html>
    <html>
    <head>

        <link rel=”stylesheet” type=”text/css” href=”style.css”>

        <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>

这产生以下结果:

enter image description here

但是,如果我将php代码复制到一个新的postForm.php文件中,然后单击“提交”(因为你可以看到该动作是postForm.php),它就可以了。

我的空白屏幕上有3个字(来自数据库)。

问题是它是一个全新的空白页面,我不希望这样。

问题

为什么代码在html文件之外工作,但不在html文件中。为什么我在html文件里面得到".row['post']."";} ?>但是当php存在于自己的php文件中时我得到了完美的输出?

代码显然没有任何问题,那可能是什么呢?

这让我很困惑。谢谢你的回答。

3 个答案:

答案 0 :(得分:2)

将文件扩展名.html更改为.php.phtml。它会解决你的问题。

答案 1 :(得分:0)

您正在html文件中编写PHP代码。 html文件没有评估php代码。将文件的扩展名更改为 .php 而不是 .html ,这样你就可以在该文件中编写html和php代码

答案 2 :(得分: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”>

        <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>