Jas*_*vis 3 php redirect header
在PHP文件中,当我需要重定向用户并且已经发送了标题时,我不能使用php的标题函数,在这种情况下哪个是重定向用户的最佳方法?
无论用户浏览器品牌如何,最快,最可靠的方法?
echo '<script type="text/javascript">window.top.location="http://localhost/";</script>';
// OR
echo '<meta http-equiv="refresh" content="0;url=' .$location. '">';
Run Code Online (Sandbox Code Playgroud)
UPDATE
这是我现在使用的最终结果代码,如果标题已经发送到我无法重定向到主页,我只是将主页带给我,所以不包括正文页面,它将包括我的主页和页脚
function validlogin($url) {
if (!isset($_SESSION['auto_id']) || ($_SESSION['auto_id']=='')) {
$_SESSION['sess_login_msg'] = 'Please login';
$_SESSION['backurl'] = $url;
$temp = '';
if (headers_sent() === false){
header("Location: /");
exit();
}else{
//header is already sent so we will just bring the homepage to us instead of going to it!!!
include 'mainbody.inc.php';
include 'footer.inc.php';
exit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
不要使用任何这些!您应该始终使用HTTP重定向.
使用ob_start()缓冲的内容,避免已经发送了头的问题.
您也可以尝试编写MVC应用程序,在那里您可以知道在输出任何内容之前是否需要重定向(但这ob_start()不是必需的).