php跳转问题

wmlearnjava 2009-06-06 07:16:32
本人学习了一下php感觉是比java简单,但是还是有个地方不太明白就是在跳转是用header,我前面输入了一个echo 打印了一句话,这时就会报错.

错误:
Warning: Cannot modify header information - headers already sent by (output started at D:\wamp1\www\message\login.php:13) in D:\wamp1\www\message\login.php on line 14

把echo删除了以后就没有问题了,请问这是为什么啊,还有就是php里分别有哪些跳转的函数啊,像重定向的,还是转向的等等,javascript又怎么转向啊,最好是把代码给我说下哈 谢谢大家了
...全文
508 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
StarQNoX1007 2010-02-10
  • 打赏
  • 举报
回复
这应该也就是和servlet引擎的区别吧!不能预加载后在返回给浏览器整个html页面。
wenq0917 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zijian8501 的回复:]
php中header前面不能有任何echo语句和html代码,否则会出错,这与php的缓存有关,打开缓存就不会有这种情况;现在我基本不用header来跳转了,一般用js替代,方法是:

echo " <script>window.location.href='test.php' </script>";

用这种方式就不会出错,而且能跳转;
楼主,别忘了散分哟……
[/Quote]

正解,
这个方法好
tfxg 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zijian8501 的回复:]
php中header前面不能有任何echo语句和html代码,否则会出错,这与php的缓存有关,打开缓存就不会有这种情况;现在我基本不用header来跳转了,一般用js替代,方法是:

echo " <script>window.location.href='test.php' </script>";

用这种方式就不会出错,而且能跳转;
楼主,别忘了散分哟……
[/Quote]

支持2楼的说法
jeff1987 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wmlearnjava 的回复:]
echo 说到这我还有一点不太明白啊,echo 不是打印到页面吗 为什么在执行 js的时候前面也加这个 echo" <script>**** </script>"不是将这句script打印出来吗????
[/Quote]
echo 不是打印,是输出html
jeff1987 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 wmlearnjava 的帖子:]
本人学习了一下php感觉是比java简单,但是还是有个地方不太明白就是在跳转是用header,我前面输入了一个echo 打印了一句话,这时就会报错.

错误:
Warning: Cannot modify header information - headers already sent by (output started at D:\wamp1\www\message\login.php:13) in D:\wamp1\www\message\login.php on line 14

把echo删除了以后就没有问题了,请问这是为什么啊,还有就是php里分别有哪些跳转的…
[/Quote]
请把你的php.ini 文件,有个参数 output_buffering=off 改为 on 然后重启Apache header("Location:") 就OK了
还不行的话你可以输出一句javascript

echo "<script language='javascript'>location.href='http://community.csdn.net';</script>";
wmlearnjava 2009-06-06
  • 打赏
  • 举报
回复
echo 说到这我还有一点不太明白啊,echo 不是打印到页面吗 为什么在执行 js的时候前面也加这个 echo"<script>****</script>"不是将这句script打印出来吗????
布衣才子 2009-06-06
  • 打赏
  • 举报
回复
php中header前面不能有任何echo语句和html代码,否则会出错,这与php的缓存有关,打开缓存就不会有这种情况;现在我基本不用header来跳转了,一般用js替代,方法是:

echo "<script>window.location.href='test.php'</script>";

用这种方式就不会出错,而且能跳转;
楼主,别忘了散分哟……
v轻扬v 2009-06-06
  • 打赏
  • 举报
回复
PHP里,在使用Header函数转向之前,页面不能输出任何内容,包括空格。PHP只能用Header转向。
javascript可以使用location.href="URL"或navigate("url")来重定向页面。

21,891

社区成员

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

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