动态包含我应该如何设置默认页面?

时间:2009-08-29 15:54:46

标签: php

我正在使用这个PHP代码:

 if (isset($_GET['c'])) {

    $pages = array("home", "upload", "signup");

    if (in_array(strtolower($_GET['c']), $pages)) 
        include('pages/'.$_GET['c'].'.php'); 
    else echo "Page not found =(";

}

我应该如何使用此代码将默认页面设为home.php?

2 个答案:

答案 0 :(得分:1)

当访问者指定无效页面时,假设您仍然想要“找不到页面”错误,您可以这样做:

if (isset($_GET['c'])) {
    if (in_array(strtolower($_GET['c']), $pages)) 
        include('pages/'.$_GET['c'].'.php'); 
    else echo "Page not found =(";
} else {
    include('pages/home.php');
}

答案 1 :(得分:1)

这样的事情:

$page = 'home';
if (isset($_GET['c'])) {
    $pages = array("home", "upload", "signup");
    if (in_array(strtolower($_GET['c']), $pages))  {
        $page = strtolower($_GET['c'])
    }
}

include('pages/' . $page . '.php'); 

BTW:通过“默认”,我理解“如果找不到页面,则包括默认页面”


另外:如果您的文件名是小写的,则在包含时应使用小写名称 - 您已经使用小写进行比较,那么为什么不包括?

如果您是在Windows环境中开发,文件名不区分大小写,但是在Linux上 - 如果您在Linux服务器上部署...我会让您猜测会发生什么; - )