我想重定向到某个页面,所以我尝试这样做。
www.example.com/logout.php?redirect=www.index-page.com/index.php
echo $redirect = "'Location: http://".$_GET['redirect']."'";
//redirects to index
header($redirect);
但它不适合我。还有什么建议。
答案 0 :(得分:4)
这样的事情:
在退出链接中:
<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();
?>
答案 1 :(得分:2)
如果不能生成echo
Warning: Cannot modify header information - headers already sent by
$redirect = "Location: http://". $_GET['redirect'];
header($redirect);
答案 2 :(得分:1)
您不应该需要额外的'
$redirect = "Location: http://".$_GET['redirect'];
答案 3 :(得分:1)
以下是将用户重定向到Google的示例
$link='http://Google.com';
header("location: $link");
你可以把它变成一个功能
function redirectUser($link){
header("location: $link");
}
然后你可以把它称为
redirectUser('http://google.com');
或者
echo redirectUser('http://google.com');
不会发生错误!
我建议你在重定向代码之后使用die();
来中止提交代码
答案 4 :(得分:0)
您只能在没有redirect
的情况下使用echo
:
header("Location: http://".$_GET['redirect']);
答案 5 :(得分:0)
问题出在这里
echo $redirect = "'Location: http://".$_GET['redirect']."'";
//redirects to index
header($redirect);
您不必在标头之前使用echo,这将导致警告header already sent
。
像这样使用
$redirect = "Location: http://".$_GET['redirect'];
//redirects to index
header($redirect);