标题位置将我发送到空白页面

时间:2013-03-29 14:31:57

标签: php

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

$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 个答案:

答案 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" );将绕过此限制并几乎立即重定向用户!