在索引上显示页面?action =

时间:2013-07-08 20:36:57

标签: php

我想使用index.php?do=settings打开一个页面, 我正在使用以下代码:

 $do='';
 if (isset($_GET['do'])){
    $do = strip_tags($_GET['action']);
 }

 if ($do == 'settings') {
    header("location:settings.php");
 }

if ($do == 'posts') {
        header("location:posts.php");
     }

但问题是我手动添加上述操作中的所有菜单以使其正常工作,当它重定向我时,index.php?do=settings消失,只显示settings.php我不想要< / p>

3 个答案:

答案 0 :(得分:1)

为避免必须手动设置,您可以将页面存储在一个数组中,其中键作为页面名称,值作为文件,然后包含文件:

$pages = array(
    'settings' => 'settings.php',
    'otherpage' => 'somePage.php'
);

if (isset($pages[$do])) {
    include $pages[$do];
}

由于重定向,您应该将文件包含为URL更改的原因。

答案 1 :(得分:0)

像这样添加get var

header("location: http://yoursite.com/settings.php?do=".$do);

NB:应该是完整的uri而不是相对的

答案 2 :(得分:0)

您可以使用http_build_query($_GET)为需要保存GET数据的链接生成查询字符串。

如果您需要修改GET键,请将GET保存到临时数组,修改它并将其传递给http_build_query

相关问题