3

标头将我发送到与正确页面相同的地址,但为空(全白)。我已经尝试了一些东西来破解并且运行良好(比如更改文本)。问题是它不会把我送到谷歌。

$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(); 一开始,它不起作用。

4

4 回答 4

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();

这样,即使在重定向之前有输出,它应该仍然可以工作。

于 2013-03-29T14:37:30.400 回答
3

您的脚本之前可能有一些空白

于 2013-03-29T14:34:39.977 回答
0

如果您向浏览器回显了任何内容,那么您的标头重定向将不起作用。这很可能是问题所在。

于 2013-03-29T14:38:03.810 回答
0

首先,您可以重定向到 about:blank ,而不是重定向到http://google.com/ 。

header("Location: about:blank");

这将向查看者显示一个空白页面,就好像他们在浏览器中打开了一个新选项卡一样。

编辑:这适用于边缘,但不适用于 Firefox 或 chrome,它们分别抛出“损坏的内容”和“ERR_UNSAFE_REDIRECT”错误。

我发现这header("refresh:0;url=about:blank" );将绕过这个限制并几乎立即重定向用户!

于 2019-07-10T02:49:49.650 回答