PHP标题包含(导航栏)未显示

时间:2015-08-17 05:11:49

标签: php html css navigation php-include

澄清:由于我从未使用过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文件有问题,如果我遗漏了某些内容,有人可以给出解释吗?

3 个答案:

答案 0 :(得分:1)

无需在头文件中添加<?php ?>代码,只需保持原样:

  1. 创建一个名为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>
    

  2. 将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只是为了更好的练习,因为它更容易阅读。