Контроллер страниц IPB - PullRequest
1 голос
/ 09 июля 2009

Кто-нибудь знает, как Invision Power Board делает их URL такими, как показано ниже?

index.php? Showuser = 349
index.php? showtopic = 83
index.php? showforum = 9

и только страницы:
index.php? акт = регистр
index.php? акт = о

и так далее. Как они это делают? Я уверен, что они делают это не так, как я:

if (isset($_GET['showtopic'])){
include('viewtopic.php');
else if (isset($_GET['showuser'])){
include('viewuser.php');
}

else if (isset($_GET['act']) && $_GET['act'] == 'register'){
include('register.php');
} 

else if (isset($_GET['act']) && $_GET['act'] == 'about'){
include('about.php');
}
else 
{
echo "page not found.";
}

Ответы [ 2 ]

1 голос
/ 09 июля 2009

Может быть, вы могли бы добавить его в массив.

$pages = array('showtopic', 'showuser');

foreach ($pages as $page) {
if (intval($_GET[$page])) {
include("$page.php");
}
}
1 голос
/ 09 июля 2009

Для выполнения действия "act =" вам не нужна огромная цепочка утверждений if. Вы можете сделать это так, например:

$pages = array('register', 'about', ...);

if (in_array($_GET['act'], $pages)) {
    include $_GET['act'].'.php';
} else {
    // display an error
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...