在我的网站上,我在网址中使用相当数量的GET参数来加载特定页面。一些可用的操作涉及调用另一个GET参数以执行某些操作(..&act=something
)。具有此操作的PHP文件包含在页面顶部。在这个包含下面我有一些代码检查URL是否有效,反正标题将引导您到正确的。
假设我已经添加了一名玩家作为朋友。 请求的URL将是例如:
?id=3&request=clan&act=add&target=5
。
所以通过这个url,我应该进入case: 'add'
部分,然后被该标题重定向。不过我所拥有的是这个标题被忽略了。相反,我通过检查部分重定向。更奇怪的是,添加的朋友出现在我的朋友列表中。为什么会这样?
<?php
if (isset($_GET['act'])) //this code is included
{
switch ($_GET['act'])
{
case 'add':
//do something
header('Location: /index.php?id='.$cuid.'&request=clan§ion=members');
break;
}
}
//some other code
if ($_GET['request'] == 'clan')
{
if ((!isset($_GET['section']) || ($_GET['section'] == '')) && ($c_guid != 0))
{
header('Location: /index.php?id='.$cuid.'&request=clan§ion=info');
}
}
?>
答案 0 :(得分:1)
输出header
实际上并不会停止您的脚本!所有其他代码也在运行。如果您不希望执行任何其他代码,则需要明确exit
。