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

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

于 2015-06-17T11:07:23.507 回答
0

原因: 1. 一个html文件不支持里面的php脚本,所以写的任何东西都不会被执行,只会被当作一个html标记。

解决方法: 1. 把.html文件另存为.php文件就搞定了!(很简单)。比如你的文件名是index.html,把它保存为index.php就行了,里面的php脚本都是执行。

索引.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 回答