如图,代码1和代码2唯一的区别就是2句<script>语句,
代码1换行,运行很正常,
代码2没还晃,结果出现如下错误
Warning: Cannot modify header information - headers already sent by (output started at D:\clientweb\okness\wwwroot\indextest.php:6) in D:\clientweb\okness\wwwroot\indextest.php on line 9请问有比较了解PHPheader的人这是怎么回事?

解决方案 »

  1.   

    应该都会出错吧在首行加上<?php ob_start();?>
      

  2.   

    2楼的朋友……我已经经过试验了,代码1的程序的确是可行的……1楼的朋友……HEADER前面不能有输出,为什么代码1可以运行呢……奇怪的地方就在于2个SCRIPT语句只需要各立一行,就可以运行了有兴趣的可以点击下测试http://www.okness.com/index.php  这是代码1,是可行的http://www.okness.com/indextest.php这是代码2,那个出错的程序
      

  3.   

    这个跟js是否换行无关
    是php本身的错误提示
    header面前不能有输出你要么就直接header的那句,直接转向前面的都是没用的不会发送的
    要么就用js或html本身的页面转向代码
      

  4.   

    4楼的朋友不是很明白你的意思可以稍微说明一下吗?5楼的朋友,现在的问题就是,不换行的不可以运行,换行的就可以运行,如果说是“header面前不能有输出”,那为什么代码1的程序就可以运行?代码1的程序不是在HEADER前面也有输出吗?
      

  5.   

    echo "<script>location.href=\"blog/index.php\"</script>";把header()跳转替换掉.看看
      

  6.   

    还有这种事??如果这是真的,可能已经打开了自动缓冲,允许有一定的缓冲字节,然后实在巧合??没换行之前正好这么多字节,换行多了一个,所以……。不如测试一下,header前仅加几个字节,和加好多字节,是否不一样
    此外,除非apache设置了url的重定义,实际上没有访问index.php,而是……,当然这个表现和平时的url重写不一样,只是猜想……
    除此之外,楼主在做广告……,呵呵,开个玩笑
      

  7.   

    恩!按7楼朋友做的完全是可以的,不过这也就改变了程序的方式,现在我想要知道的正是HEADER的问题,不知道还有没有什么意见?9楼的朋友……我有点不是很明白你的意思……呵呵!!大家再想想看到底我这个HEADER的问题是怎么回事……还有7楼的朋友我想再问你一下,我的那2段<script>代码实际上是一个访问统计的代码,他们的其中一个功能就是记录来路,我想问,用你的方法进行转向,计数器统计到的来路是代码所在的地址,还是代码之前的地址(即A网站)?已知用HEADER统计到的来路是代码之前的地址,即A地址。假设代码存在地址是B,B下有目录/blog,我在A网站创立个连接X到B下index.php下,这个文件就是我1楼的程序文件,当在B上访问X就是跳到B下的INDEX.PHP,然后程序执行转向到/blog下
      

  8.   

    吧php的代码都去掉会怎么样?
      

  9.   

    这个,你不如先把 出错的那个页面的代码,header之前去掉一些字符,比如:喜欢……,暂时删掉,不是注释,直接删掉,然后刷新一下看看
    如果还出错的话,再讨论别的
      

  10.   

    重新把<header>和前面的删除,然后重写一次,不要复制粘贴,手动写。
      

  11.   

    11楼,把PHP的代码删除了就等于是一个简单的首页了,程序里最重要的是JS引用和HEADER的转向功能12楼的朋友,按你的说法做,把<title>都删除了,结果还是一样13楼的朋友,结果也是一样的……除了给<script>换行不会出错外,不换行就是会出错
      

  12.   

    @header("Location:/blog/index.php")尝试过了吗