我的HTML页面上出现了1号,即使我没有把它放在那里

时间:2016-07-08 20:56:31

标签: php html css html5

我正在设计一个网站,但我遇到了HTML问题。我正在执行并回显PHP文件中的内容然后显示在我的页面上,但是我的浏览器在解析了PHP文件中的内容之后添加了数字1。

这是我的HTML(和PHP):

<section id="header">
<div style="float: left; padding-top: 0px; vertical-align: central;">
<a href="/home"><img src="/img/site/logo.png" alt="DibDibCraft Logo" height="50" width="167" class="logo" /></a>
</div>

<?php echo(include($_SERVER['DOCUMENT_ROOT'] . '/htm/header.php')); ?>
</section>

以下是header.php的内容:

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

<div id="navBarBtnContainer">Hello</div>

在解析header.php的内容并且在该部分的末尾(</section>标记之前)之后放置1。这是一个截图:

Number 2 added to HTML page.

如您所见,在</section>之前添加了数字1。

我已经在HTML和PHP解析器中检查了我的代码,并且两者都没有返回任何会产生这样结果的错误。

我也不知道这个错误的名称是什么(如果是错误的),所以我没有在这个网站上询问就找不到帮助,所以如果这是一个重复的问题,请向他们道歉,如果这是重复的话,请你指点一个可能有助于解决这个问题的问题。

非常感谢,DibDibs

PS:你能否告诉我为什么会这样,这将有助于我避免将来再犯同样的错误,谢谢:)

3 个答案:

答案 0 :(得分:2)

问题

<?php echo(include($_SERVER['DOCUMENT_ROOT'] . '/htm/header.php')); ?>

删除此行中的回音

最终输出是:

<?php include($_SERVER['DOCUMENT_ROOT'] . '/htm/header.php'); ?>

答案 1 :(得分:1)

include($_SERVER['DOCUMENT_ROOT'] . '/htm/header.php')

Boolean作为true == 1返回 当您回显上一行代码时,它返回1,因为它成功并返回true

删除echo,它将消失

答案 2 :(得分:1)

发生这种情况的原因是因为这段代码。

<?php echo(include($_SERVER['DOCUMENT_ROOT'] . '/htm/header.php')); ?>

您实际上是echo嵌套include()语句调用的返回结果,1(松散true - 不要问我为什么使用PHP这里没有使用布尔true

这在逻辑上与以下相同:

// this line generates expect HTML output
$success = include($_SERVER['DOCUMENT_ROOT'] . '/htm/header.php');
// this line generates unexpected 1 output
echo($success);

由于您的include实际生成了HTML输出,因此您可以正确呈现预期的HTML。然后,您回显包含操作的1结果,这会导致显示1