我是网络开发的新手,我开始学习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脚本可以工作。
答案 0 :(得分:2)
PHP不会读取HTML文件。包含语句需要以PHP格式阅读。如果您的文件中包含任何PHP,则它必须是.php文件。
答案 1 :(得分:1)
我知道这已经很晚了,但这是你的问题:
如果你想让它工作,你的menu.php文件末尾的EOT不能缩进。
警告非常重要的是要注意关闭的行 标识符必须不包含其他字符,分号(;)除外。 这尤其意味着标识符可能不会缩进,并且 在分号之前或之后可能没有任何空格或制表符。
此外,您在<<<
和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文件无法正确包含某些内容。它可能是您的浏览器聪明,使标签工作。
希望这会有所帮助:)