PHP包括不使用我的HTML

时间:2014-02-10 01:30:48

标签: php html css web

我是网络开发的新手,我开始学习php。我想建立一个网站,我只是在开展小项目,以学习不同的方法。

我创建了一个包含导航栏html信息的php文件,因此我可以只包含php文件,而不必更新每个会有导航栏的页面。

这是我的html文件。

<!DOCTYPE html>
<html lang="en">
    <head>
        <link rel="stylesheet" type="text/css" href="home.css">
        <title id='title'>Homepage</title>
    </head>
    <body>

    <?php include("menu.php"); ?>

    <h1>Welcome to the homepage.</h1>
    <h2>
        <?php
            echo "php is working";
        ?>
    </h2>
    <p>I will soon be update the page to look much nicer.</p>
    </body>
</html>

这是我的php文件。

<?php
    echo <<< EOT
    <div class="navbar navbar-static-top">
        <ul class="nav">
            <li class="home"><a href="index.html">Home</a></li>
            <li class="about"><a href="#">About</a></li>
            <li class="projects"><a href="#">Projects</a></li>
            <li class="resume"><a href="#">Resume</a></li>
        </ul>
    </div>
    EOT;

?>

当我打开网页时,它都没有工作。但是如果我删除了具有html的php脚本并且只是将html插入其位置就可以了。我知道php是正确安装的,因为文件底部的h2中的php脚本可以工作。

4 个答案:

答案 0 :(得分:2)

PHP不会读取HTML文件。包含语句需要以PHP格式阅读。如果您的文件中包含任何PHP,则它必须是.php文件。

答案 1 :(得分:1)

我知道这已经很晚了,但这是你的问题:

如果你想让它工作,你的menu.php文件末尾的EOT不能缩进。

来自documentation

  

警告非常重要的是要注意关闭的行   标识符必须不包含其他字符,分号(;)除外。   这尤其意味着标识符可能不会缩进,并且   在分号之前或之后可能没有任何空格或制表符。

此外,您在<<<EOT之间有空格,但我不能100%确定是否会导致问题。如果您将代码更改为此代码,则应该有效:

<?php
    echo <<<EOT
    <div class="navbar navbar-static-top">
        <ul class="nav">
            <li class="home"><a href="index.html">Home</a></li>
            <li class="about"><a href="#">About</a></li>
            <li class="projects"><a href="#">Projects</a></li>
            <li class="resume"><a href="#">Resume</a></li>
        </ul>
    </div>
EOT;

?>

答案 2 :(得分:-1)

如果内容只是您所包含的HTML,则无需回显内容。您可以在文件中包含HTML

 <div class="navbar navbar-static-top">
    <ul class="nav">
        <li class="home"><a href="index.html">Home</a></li>
        <li class="about"><a href="#">About</a></li>
        <li class="projects"><a href="#">Projects</a></li>
        <li class="resume"><a href="#">Resume</a></li>
    </ul>
</div>

其次,menu.php在同一目录下?因为这就是你要链接的内容。

答案 3 :(得分:-2)

包含不需要括号。 做到......

 <?php include 'menu.php'; ?>

同时确保两个文件都保存为.php文件,因为.html文件无法正确包含某些内容。它可能是您的浏览器聪明,使标签工作。

希望这会有所帮助:)