我想使用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>
答案 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
。