本人学习了一下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又怎么转向啊,最好是把代码给我说下哈 谢谢大家了
  

解决方案 »

  1.   

    PHP里,在使用Header函数转向之前,页面不能输出任何内容,包括空格。PHP只能用Header转向。
    javascript可以使用location.href="URL"或navigate("url")来重定向页面。
      

  2.   

    php中header前面不能有任何echo语句和html代码,否则会出错,这与php的缓存有关,打开缓存就不会有这种情况;现在我基本不用header来跳转了,一般用js替代,方法是:   echo "<script>window.location.href='test.php'</script>";   用这种方式就不会出错,而且能跳转;
       楼主,别忘了散分哟……
      

  3.   

    echo 说到这我还有一点不太明白啊,echo 不是打印到页面吗 为什么在执行 js的时候前面也加这个 echo"<script>****</script>"不是将这句script打印出来吗????
      

  4.   

    请把你的php.ini 文件,有个参数 output_buffering=off 改为 on 然后重启Apache header("Location:") 就OK了
    还不行的话你可以输出一句javascript echo "<script language='javascript'>location.href='http://community.csdn.net';</script>";
      

  5.   

    echo 不是打印,是输出html
      

  6.   

    这应该也就是和servlet引擎的区别吧!不能预加载后在返回给浏览器整个html页面。