标题会将我发送到与正确页面相同的地址但空白(全白)。 我已经尝试了一些东西来破解并且运行良好(比如更改文本)。 问题是它不会把我发给谷歌。
$insert = 'INSERT into appusers(appname, email, password, month)
VALUES("'.$appname.'","'.$email.'","'.$password.'","'.$monthpay.'")';
mysql_query($insert);
session_start();
$_SESSION['id'] = $data['id'];
header("Location: http://www.google.com/");
exit;
我试图添加ob_start();在开始时它不起作用。
答案 0 :(得分:5)
替换
header("Location: http://www.google.com/");
使用
if( !headers_sent() ){
header("Location: http://www.google.com/");
}else{
?>
<script type="text/javascript">
document.location.href="http://www.google.com/";
</script>
Redirecting to <a href="http://www.google.com/">http://www.google.com/</a>
<?php
}
die();
这样,即使在重定向之前有输出,它仍然可以工作。
答案 1 :(得分:2)
您的脚本之前可能有一些空格
答案 2 :(得分:0)
如果您已向浏览器回显任何内容,那么您的标题重定向将无效。这可能就是问题所在。
答案 3 :(得分:0)
首先,您可以重定向到about:blank,而不是重定向到http://google.com/。
header("Location: about:blank");
这将向查看者显示空白页面,就像他们在浏览器中打开新标签一样。
编辑:此方法仅适用于edge,但不适用于Firefox和chrome,它们分别引发“ Corrupted Content”和“ ERR_UNSAFE_REDIRECT”错误。
我发现header("refresh:0;url=about:blank" );
将绕过此限制并几乎立即重定向用户!