首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在已发送标头后跳转到其他页面?

如何在已发送标头后跳转到其他页面?
EN

Stack Overflow用户
提问于 2013-10-04 02:33:16
回答 3查看 320关注 0票数 1

如何在已发送标头后跳转到其他页面?

我有一些代码写在我的模板文件,我想使用php跳转到其他页面时,某些条件是真的,但我不能在这里使用头命令,因为标题信息已发送到其他php文件之前,这个模板文件。那我现在怎么能跳到其他网址呢?只有使用js的方式?

代码语言:javascript
复制
Warning: Cannot modify header information - headers already sent by ...
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-04 02:37:15

使用输出缓冲和头清除来实现这一点。

代码语言:javascript
复制
ob_start()
...
if (!headers_sent()) {
  foreach (headers_list() as $header)
    header_remove($header);
}
ob_flush_end()

还没经过测试,但试试看。

票数 2
EN

Stack Overflow用户

发布于 2013-10-04 02:39:47

你有两个选择。

  1. 在发送任何输出之前移动标题位置。
  2. 使用客户端重定向,您有两种方法可以做到这一点

a/使用javascript

代码语言:javascript
复制
window.location = "http://www.yoururl.com";

b/使用元

代码语言:javascript
复制
<META http-equiv="refresh" content="5;URL=http://www.yourlink.com/new-link">

这里最好的解决方案是How to fix "Headers already sent" error in PHP

票数 1
EN

Stack Overflow用户

发布于 2013-10-04 02:44:31

CP510的分析器很好。另一种方法是使用javascript重定向页面。引用Ryan McGeary answer的话,您可以这样做

代码语言:javascript
复制
// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

or

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19172271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档