可能重复:
PHP 已发送的标头
我想重定向到某个页面,所以我尝试了这样。
www.example.com/logout.php?redirect=www.index-page.com/index.php
echo $redirect = "'Location: http://".$_GET['redirect']."'";
//redirects to index
header($redirect);
但这对我不起作用。有什么建议吗?
可能重复:
PHP 已发送的标头
我想重定向到某个页面,所以我尝试了这样。
www.example.com/logout.php?redirect=www.index-page.com/index.php
echo $redirect = "'Location: http://".$_GET['redirect']."'";
//redirects to index
header($redirect);
但这对我不起作用。有什么建议吗?
像这样的东西:
在注销链接中:
<a href="http://www.example.com/logout.php?redirect=<?=urlencode('http://www.index-page.com/index.php')?>"> Logout </a>
在 logout.php 页面上:
<?
// destroy session
header('location:'.urldecode($_GET['redirect']));
die();
?>
如果不是它会生成,你不能使用echo
之前的标题Warning: Cannot modify header information - headers already sent by
$redirect = "Location: http://". $_GET['redirect'];
header($redirect);
你不应该需要额外的'
$redirect = "Location: http://".$_GET['redirect'];
这是将用户重定向到 Google 的示例
$link='http://Google.com';
header("location: $link");
你可以把它变成一个函数
function redirectUser($link){
header("location: $link");
}
然后你可以这样称呼它
redirectUser('http://google.com');
或者
echo redirectUser('http://google.com');
不会发生错误!
我建议你die();
在重定向代码之后使用,中止来电代码
你只能使用redirect
没有echo
:
header("Location: http://".$_GET['redirect']);
问题就在这里
echo $redirect = "'Location: http://".$_GET['redirect']."'";
//redirects to index
header($redirect);
你不应该在 header 之前使用 echo ,这会导致 warning header already sent
。
像这样使用它
$redirect = "Location: http://".$_GET['redirect'];
//redirects to index
header($redirect);