IPB的页面控制器

时间:2009-07-08 23:09:44

标签: php

任何人都知道Invision Power Board如何使他们的网址如下所示?

的index.php?showuser = 349
的index.php?showtopic = 83
的index.php?showforum = 9

和页面:
的index.php?行动=注册
的index.php?ACT =约

等等。他们是怎么做到的?我敢肯定他们不像我现在那样做:

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 个答案:

答案 0 :(得分:1)

要执行“act =”操作,您不需要大量的if语句链。你可以这样做,例如:

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

if (in_array($_GET['act'], $pages)) {
    include $_GET['act'].'.php';
} else {
    // display an error
}

答案 1 :(得分:1)

也许你可以将它添加到数组中。

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

foreach ($pages as $page) {
if (intval($_GET[$page])) {
include("$page.php");
}
}