我正在尝试创建包含页面的功能。
事实上,我开始使用检查所有页面的长代码:
if (isset($_GET]['p']) && $_GET['p']=='something') {include 'something.php'};
现在我处理超过600页,这段代码太长了,我想简化它。
有时候我的页面会被注明,因为它们被使用,例如home将对应于accueil.php等。
所以我做了一个数组,其中列出了所有异常:
像那样:$paramListepages = array(
'corbeille' => array(
'libelle' => 'corbeille',
'page' => 'php/trash.php'
),
'nouveaumessage' => array(
'libelle' => 'nouveaumessage',
'page' => 'php/envoyer.php'
),
等等......
在这个数组中,我有大约20页。
现在我尝试创建一个包含页面的函数,所以这里是我的代码:
function getPage($var)
{
if (isset($var)) {
$key = array_search($var, $paramListepages);
if ($key == false()) {
include('php/'.$var.'.php');
} else {
}
}
}
我不明白为什么第一部分不起作用。
我首先检查数组中是否存在var,如果不存在,我将包含与var对应的页面。
我仍然不知道如何做第二部分,但现在第一部分不起作用。
我没有留言错误,即使在我的ubunto中我激活了所有错误的显示。
在主页index.php
中,我调用了函数getPage($_GET['p'])
非常感谢任何形式的帮助。
答案 0 :(得分:1)
我建议您直接访问数组中的条目:
function getPage($var) {
if (empty($var))
// no page specified => default page
inlude('index.php')
elseif (array_key_exists($var,$paramListepages))
// page found => include it!
include (sprintf('php/%s.php', $paramListepages[$var]['page']));
else
// page not found => default page
inlude ('index.php')
}