0

嗨,在一个 HTML 文档中,我在其中一个 div 中包含了一些内容,但是它只是将 php 代码打印为纯文本,并且有点忽略了 php 标签。这是我的编码方式。

    </form>        //just some html tags right before the php tags
    <br/>
    <br/>
    <p id="hint"></p>

<?php                 // the begining of the php tags
form();
function form(){
    print "<form method='post' action='$_SERVER[PHP_SELF]'>";
    print"<input type='text' name='species'/>"; 
    print"<input type='submit' name='submit'/>"; 
    print"</form>";

}

echo '<div id='language_information'>';
?>

  </div>
  <div style ="display:none;"id="about" title="How it works">'

这是 chrome 中的检查元素给我的,只是注释和纯文本

  <p id="hint"></p>
      <!--?php
form();
function form(){
    print "<form method='post' action='$_SERVER[PHP_SELF]'-->

      ";
    print"
    <input type="text" name="species"></input>
      "; 
    print"
    <input type="submit" name="submit"></input>
4

4 回答 4

2

.php确保文档扩展名不应该是.html.

在大多数服务器中,仅.php解析带有扩展名的文件,因此如果您在 HTML 文件中使用任何 PHP,其扩展名应该是.php

于 2013-07-11T06:32:26.510 回答
2

您说您已将文件保存为 HTML 文档。那就是问题所在。

Please note that the server interprets HTML and PHP files differently.

HTML 文件直接发送到浏览器,而 PHP 文件则不是。因此,当您的文件保存为 HTML 时,它会直接发送到浏览器,无法解析 PHP 代码,因此无法解析输出。

最好将您的文件重新保存为 PHP 文档。

另外,为了将来参考,请注意即使在 PHP 文件中,解析顺序也是

  1. PHP
  2. HTML,CSS,Javascript
于 2013-07-11T06:39:58.227 回答
0

代码和输出不匹配,因为分隔符-->不在源中。

最后,它看起来不像是从启用 PHP 的服务器上运行的——至少 PHP 没有被执行。尝试修复文件扩展名或在XAMPP等本地服务器中测试它,看看是否可以复制错误。

于 2013-07-11T06:30:02.480 回答
0

您是通过支持 PHP 的 XAMPP 等网络服务器运行该页面,还是只是双击该页面并从资源管理器窗口在您最喜欢的浏览器中打开它?

如果您试图让页面与 PHP 一起使用,则需要将其放在正确的文件夹中(例如可能是 xampp/htdocs),然后http://localhost在浏览器中导航到

此外,根据您的配置,服务器可能不会解析 HTML 文件中的 PHP 代码,而可能只执行 PHP 文件。我认为默认情况下,许多“不太严重”的网络服务器(例如 XAMPP、LAMP 等)会默认解析几乎所有扔给它们的东西,因此文件命名应该不是问题。

于 2013-07-11T06:30:32.643 回答