English 中文(简体)
[PHP]: 为什么没有改头?
原标题:[PHP]: Why page is not redirecting?
  • 时间:2009-10-31 04:03:12
  •  标签:

在以下法典中,“头盔:”线造成了问题。

  $q = mysql_query($a) or die(mysql_error());
  $row = mysql_fetch_array($q);

      $ValidationResponse = "false";

      if ($_COOKIE[ user_name ] != "")
        {
  while ($row) {
      if ($_COOKIE[ user_name ] = $row[ username ])
      {
              $ValidationResponse = "true";
              break;
          }
      }
        if ($ValidationResponse == "true")
        {
            ob_start();
            header("location:personal_view.php");
            ob_clean();
        }
        else
            echo "<script>alert( Invalid Login. Try Again. );</script>";
        }
          $_COOKIE[ user_name ] = "";
最佳回答

三项有益的职能 我倾向于:

function redirect($url) {
  while (ob_end_clean()) ; // do nothing
  header("Location: " + $url);
  exit;
}

function reload() {
  redirect($_SERVER[ REQUEST_URI ]);
}

function reloadQS() {
  redirect($_SERVER[ REQUEST_URI ] +  ?  + $_SERVER[ QUERY_STRING ]);
}

以上正确处理的是,如果内容已经送交用户,那么本来可以把产出缓冲带给用户,那么就会失败。 d 我建议使用上述方法,否则,你就把你的代码排在清理缓冲区的通道上,这一点没有意义。

你们再利用产出作不正确的缓冲,这就是为什么它失败的原因。 变化:

ob_start();
header("location:personal_view.php");
ob_clean();

:

ob_end_clean();
header("Location: personal_view.php");
exit;
问题回答

You should put the ob_start at the very beginning of the script Also, i m not sure about this, but i always seen the location header written in this way

header("Location: location.php");

地点 L 殖民地后的一个空间:“

这也许会令人信服,但你是否确信在<条码>标题(功能>前不会产生任何结果? 帕帕奇即便在开始标记<代码><?php之前发现新的线性,也还是获得了转口。





相关问题
热门标签