PHP包括不允许样式表

时间:2015-02-25 13:37:44

标签: php html css include stylesheet

我只有一个基本的网站,我没有遇到这个问题,除非我尝试使用php包含我的网站的某些部分。我只是在学习如何使用它,我不明白为什么这些结束标记被突出显示。我把文件保存为php,它在我的xampp上,一切都关闭了。 php包含的语句是否写得不正确?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/mystyles.css"/>
<title>Title</title>
</head>
<body>
    <?php include 'includes/header.php';?>

    <?php include 'includes/footer.php';?>
</body>
</html>

这是我的header.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Header</title>
</head>
<body>
    <?php
        echo "<header>
                <p>Hello World</p>
              </header>";
    ?>
</body>
</html>

这也是我的样式表。所有这些都是非常基本的,我只是不明白为什么如果我不使用PHP包括它的工作和样式表是导入但我使用包括它不会正确导入样式表,它说我有无效的关闭index.php上的</body> </html>

3 个答案:

答案 0 :(得分:1)

您的header.php不应再有body个标签了。 这些已在主文件中设置。

header.php应如下所示:

<?php
    echo "<header>
            <p>Hello World</p>
          </header>";
?>

答案 1 :(得分:0)

看看当你&#34;包括&#34;你的档案。如果您只是复制包含文件的内容,您可以看到它正在做什么:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/mystyles.css"/>
<title>Title</title>
</head>
<body>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Header</title>
</head>
<body>
    <?php
        echo "<header>
                <p>Hello World</p>
              </header>";
    ?>
</body>
</html>

    <?php include 'includes/footer.php';?>
</body>
</html>

这看起来像是一个有效的HTML页面吗?不是。你的header.php应该是这样的:

<header>
    Hello World
</header>

那就是它,你不需要PHP开头标签,或回声或其他任何一个(注意缺少段落标签,你不应该把它们包含在一个头)。如果你想在其中放入PHP变量,那么你可以这样做:

<header>
    <?= $myVarContainingHtml ?>
</header>

<?=<?php echo

的缩写

答案 2 :(得分:0)

你不需要header.php中的所有HTML。基本上它应该只是:

<?php echo "<header>
<p>Hello World</p>
</header>";

通过添加html文档的所有其余内容,您将在HTML文档中包含一个完整的HTML文档,这将破坏页面。