刚开始学习PHP,开始使用包含,这样我就不必在不同的页面上使用相同的HTML代码并复制过去。
目前我正在使用:
include("pages/header.php")
这是将我的所有html用于我的菜单并将其放入我的index.php
页面。现在,我想更进一步,将我的内容放入自己的文件,如home.php
和contact.php
,然后使用include将html拉入我的index.php
这些页面已在菜单中点击。
有没有具体方法可以做到这一点?我可能需要一些if语句来检查它需要包含和更改的内容,只是不确定如何去做。任何建议都会很棒!
答案 0 :(得分:1)
我同意@Tim,但会对页面的处理方式略有不同。
<a href="index.php?page=about">About</a>
<?php
$allowed = array('about', 'header', 'index'); // add the pagenames you need
$page = ( isset($_GET['page']) ) ? $_GET['page'] : 'index';
if ( in_array($allowed, $page) )
include("pages/$page.php")
} else {
include("pages/404.php")
}
?>
每当您创建新页面时,您只需将其添加到阵列即可使其正常工作。您不必创建另一个if / else。
更多地澄清代码。
您的链接将为page
提供值。
在$allowed
中存储有效的页面名称。数字令人困惑,请使用名称。
然后通过检查$page
值来设置$_GET['page']
变量的值。
如果已设置值(这意味着单击了链接),则将使用该值。如果没有值,则会将$page
设置为索引。
最后if-statement
检查$allowed
中是否存在给定值。如果是,它将包括该页面,如果不是,它将包括404。
这种方法的一个好处是,当您需要添加更多页面时,它很容易维护/调整。
答案 1 :(得分:0)
对于指向其他页面的链接,您需要向其添加变量作为对要包含的内容的引用。例如:
<a href="index.php?page=2">About</a>
然后在您希望包含文件的PHP中,您必须检索变量并显示要包含的相应文件。以下是如何运作的:
<?php
$PageNum = $_GET['page'];
if ($PageNum == 1) {
include("pages/header.php")
} else if ($PageNum == 2) {
include("pages/about.php")
} else {
include("pages/404.php")
}
?>
这将检索我们在链接中设置的变量,并包含相应的页面。
您可能希望显示索引页面而不设置任何变量。例如,您可以拥有&#39;联系人&#39;使用page = 1和&#39;关于&#39;页面= 2。当您处理$ PageNum时,只需执行
if ($PageNum ==1) {
include("pages/contact.php")
} else if ($PageNum ==2) {
include("pages/about.php")
} else {
include("pages/header.php")
}
这种方式当没有设置变量时(如果它们只是转到index.php)它将向它们显示header.php文件,否则它将显示它们或联系。