Динамическое включение Как мне установить страницу по умолчанию? - PullRequest
0 голосов
/ 29 августа 2009

Я использую этот код 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 ]

1 голос
/ 29 августа 2009

Что-то вроде этого:

$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'); 

Кстати: "по умолчанию" я понял "если страница не найдена, то включить одну по умолчанию"


Кроме того: если имена файлов в нижнем регистре, вы должны использовать имя в нижнем регистре при включении - вы уже используете строчные буквы для сравнения, так почему бы не включить?

Если вы разрабатываете в среде Windows, имена файлов не чувствительны к регистру, но в Linux - и если вы развертываете на сервере Linux ... Я позволю вам угадать, что может произойти; -)

1 голос
/ 29 августа 2009

Предполагая, что вы все еще хотите ошибку "Страница не найдена", когда посетитель указывает неверную страницу, вы можете сделать это следующим образом:

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');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...