澄清:由于我从未使用过PHP,因此不清楚如何格式化PHP文件,因此当您将其包含在索引中时,会显示标题(导航栏)。没有帖子解释为什么我必须将index.html更改为index.php才能使其正常工作。再说一次,由于我没有使用PHP,我认为更改扩展意味着我必须将我的HTML代码转换为PHP命令。我试图避免不得不改变我的整个代码。这就是混乱的地方。
一旦弄明白,我就会删除这个问题。再说一次,我确信我不是唯一可能在制作第一个网站时遇到这种情况的人。
解。仅使用PHP扩展名(header.php)以html语言保存导航代码。将索引/主文件从.html更改为.php扩展名(不必修改任何代码。但接受include提示符)。然后,在index.php中包含header.php。你的页脚也是如此。感谢大家的帮助。
* ORIGINAL POST:通过另一篇文章,我被告知使用PHP在多个页面上使用导航/页脚会更容易。
我创建了一个文件并试图包含它并且它没有显示。我不确定我做错了什么。
我的导航栏中也有一些CSS,我是否需要在PHP文件中导入css文件?或者index.html文件是否自动附加到包含的(php)文件。
PHP代码:
<?php
echo '<nav>
<div>
<a href="/">
<div id="logo"><img src="/Images/7serviceLOGOblue2.png" alt="Home"/></div>
<div id="headtag"><img src="/Images/title.png" alt="Home"/></div>
<div id="tagline"><img src="/Images/tag_line.png" alt="Home"/></div>
</a>
</div>
<div>
<a href="/" class="here">Home</a>
<a href="/about.html" >About</a>
<a href="/services.html" >Services</a>
<a href="/pricing.html" >Pricing</a>
<a href="/contact.html" >Contact Us</a>
<input id="srchbar" type="search" placeholder="Search">
</div>
</nav>';
?>
HTML代码(包含):
<body>
<?php include '/header.php';?>
....other code....
</body>
如果PHP文件有问题,如果我遗漏了某些内容,有人可以给出解释吗?
答案 0 :(得分:1)
无需在头文件中添加<?php ?>
代码,只需保持原样:
创建一个名为header.php的新文件并将此代码添加到其中
<nav>
<div>
<a href="/">
<div id="logo"><img src="/Images/7serviceLOGOblue2.png" alt="Home"/></div>
<div id="headtag"><img src="/Images/title.png" alt="Home"/></div>
<div id="tagline"><img src="/Images/tag_line.png" alt="Home"/></div>
</a>
</div>
<div>
<a href="/" class="here">Home</a>
<a href="/about.html" >About</a>
<a href="/services.html" >Services</a>
<a href="/pricing.html" >Pricing</a>
<a href="/contact.html" >Contact Us</a>
<input id="srchbar" type="search" placeholder="Search">
</div>
将header.php包含在您想要的任何地方
答案 1 :(得分:0)
从代码中删除<?php
标记。当你生成html输出。 <?php
标签用于通过php生成输出。
<nav>
<div>
<a href="/">
<div id="logo"><img src="/Images/7serviceLOGOblue2.png" alt="Home"/></div>
<div id="headtag"><img src="/Images/title.png" alt="Home"/></div>
<div id="tagline"><img src="/Images/tag_line.png" alt="Home"/></div>
</a>
</div>
<div>
<a href="/" class="here">Home</a>
<a href="/about.html" >About</a>
<a href="/services.html" >Services</a>
<a href="/pricing.html" >Pricing</a>
<a href="/contact.html" >Contact Us</a>
<input id="srchbar" type="search" placeholder="Search">
</div>
</nav>
如果你想使用php标签,那么你必须以这种方式编写代码:
<?php
echo '
<nav>
<div>
<a href="/">
<div id="logo"><img src="/Images/7serviceLOGOblue2.png" alt="Home"/></div>
<div id="headtag"><img src="/Images/title.png" alt="Home"/></div>
<div id="tagline"><img src="/Images/tag_line.png" alt="Home"/></div>
</a>
</div>
<div>
<a href="/" class="here">Home</a>
<a href="/about.html" >About</a>
<a href="/services.html" >Services</a>
<a href="/pricing.html" >Pricing</a>
<a href="/contact.html" >Contact Us</a>
<input id="srchbar" type="search" placeholder="Search">
</div>
</nav>
';
?>
答案 2 :(得分:0)
您的问题很可能就是您的路径。通常,您需要从服务器根目录进行指定,而不仅仅是/header.php
。
要指定包含路径,您可以像这样指定根
include $_SERVER['DOCUMENT_ROOT']."/header.php";
您还可以在php.ini
文件中设置默认包含路径,从而使$_SERVER['DOCUMENT_ROOT']
成为一个自动流程,可以通过运行此代码来完成,这将改变您的php.ini
文件。
ini_set('include_path', '/usr/lib/pear');
正如其他人所指出的那样,您不需要将/header.php
的内容作为纯HTML回显。包含的任何内容都将按原样包含在内,因此将/header.php
的内容作为纯HTML只是为了更好的练习,因为它更容易阅读。