关于在输出之后使用header函数的问题

ironage 2004-07-10 01:39:41
关于输出之后使用header函数得问题
有一个问题,是必须在输出之后转向,但是输出之后header函数不能使用,怎么办啊?
...全文
144 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ironage 2004-07-10
  • 打赏
  • 举报
回复
to 唠叨老大:
还是有用的,我在这个页面echo一段js:<script>parent.document.forms[0].gh.value += "hello"</script>
赋值,然后在转向到促使页面,呵呵

看来只有用 Cain(纵一苇之所如、凌万顷之茫然!) 方法了,echo JS,我只是想PHP为什么要设定输出后不能header!
feixuehenshui 2004-07-10
  • 打赏
  • 举报
回复
原来我用echo header()
结果在LINUX环境下老出问题
后来才知道前面不能加ECHO 的
xuzuning 2004-07-10
  • 打赏
  • 举报
回复
有必要吗?
header将使url转向,原页面的输出最多只是一闪而过,已没有意义了
所以既然要转向,则没有必要输出了

唯一的例外是:
在提交页面处理完后的转向,可以这样写

$time = 10;
$url = $_SERVER['HTTP_REFERER']; //或其他

header("Refresh: $time; URL=$url");
echo "<a href='$url'>操作成功!{$time}秒后返回</a>";
Cain 2004-07-10
  • 打赏
  • 举报
回复
你可以使用ob_start,开启输出缓存,具体用法自己查一下手册吧

或者你可以用js写:<script>window.location.reload('x.php')</script>
mistjin 2004-07-10
  • 打赏
  • 举报
回复
晕死,跟楼上发的时间竟然是同一时间
害的我码了半天字!
mistjin 2004-07-10
  • 打赏
  • 举报
回复
header前面有输出,意味着已经发送了一次HTTP头信息,
HTTP是无状态协议,浏览器接受了这个头信息就要做出相应的反应,
而你这时候再发一次头信息算啥意思?
这不是PHP的问题,是你自己的问题
-神仙- 2004-07-10
  • 打赏
  • 举报
回复
header是输出http头信息的。
内容输出后,http头信息已经发送到浏览器,所以不能发第二次
rmzhang33 2004-07-10
  • 打赏
  • 举报
回复
又学到了一点,太好了

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧