带 header() 的 PHP 重定向在第一页中打开重定向页面

发布于 2024-12-04 09:21:17 字数 269 浏览 1 评论 0原文

我正在编写一个包含输出的 PHP 页面,然后是一个 if then 语句,该语句会导致:

ob_start();
header('Location: http://www.mydomain.com/');
ob_end_flush();

没有错误,但它重定向到的页面是在主页中打开的。您可以看到主页的上半部分,然后是重定向到的页面的全部内容,然后是主页的下半部分。这一切都出现在同一个屏幕上。这确实对我的网站造成了严重破坏。我怎样才能让它简单地转到新页面?

I am writing a PHP page that contains outputs, and then an if then statement that results in:

ob_start();
header('Location: http://www.mydomain.com/');
ob_end_flush();

There are no errors, but the page it is redirecting to is opening up within the main page. You can see the top half of the main page, then the entire contents of the page it's redirecting to, and then the bottom half of the main page. It all appears on the same screen. This is really causing havoc for my site. How can I just make it simply go to the new page?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

始终不够 2024-12-11 09:21:17

输出缓冲区并在其中进行重定向确实没有任何意义。

我建议进行所有必要的检查,以确保您需要输出内容或重定向,然后进行其中一项检查。

您还应该在更改标头位置后停止脚本执行。像这样的东西:

if($needToRedirect){
      header('Location: http://www.mydomain.com/');
      exit();
}else{
      ob_end_flush();
}

It really not make any sense to output the buffer and make a redirect within.

I suggest to make all the checks you need to assure you need to output content or redirect, and then make one of them.

You should also stop the script execution after changing the header location. Something like :

if($needToRedirect){
      header('Location: http://www.mydomain.com/');
      exit();
}else{
      ob_end_flush();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文