2012-11-19 56 views
0

我试图使包括页面的功能。功能包括页面

其实在开始阶段我用很长的代码,为所有页面检查工作:

if (isset($_GET]['p']) && $_GET['p']=='something') {include 'something.php'}; 

现在我有600多页工作,这个代码是太长了,我想简化它。

有时候我必须是题为等使用他们的网页,例如家庭将对应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'])

任何形式的帮助将非常感激。

+1

'假()'是不是一个函数。将其更改为'if($ key == false){'。另外,'include'也不是函数**,它是一种语言结构;所以不应该使用括号。让它包含'/path/to/file.php';' –

+0

感谢这部分它工作正常,我已经改变了,最后一个麻烦是如何从第一个数组获得正确的页面值? –

+1

'function false(){return false; }'。这是一个笑话。 – StasGrin

回答

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') 
}