php跳转 - php提示「headers already sent by」具体怎么修改!

WBOY
Freigeben: 2016-06-06 20:36:38
Original
954 Leute haben es durchsucht

纯新人,跳转代码别人帮我写的,目的是跳转,文件为go.php
当网址输入go.php?id=taobao的时候就跳转到www.taobao.com

换主机后发生错误
Warning: Cannot modify header information - headers already sent by (output started at /data/home/。。。。。。/go.php:8) in /data/home/。。。。。。/go.php on line 10

百度得知需要改php.ini但新主机改这个很麻烦。。求有没有直接在以上文件php代码里修改以上错误的方法?

代码:

<code>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>正在进入....</title>


<?php $id=$_GET["id"];
if($id=="taobao"){Header("Location:http://www.taobao.com");
}
?>


</code>
Nach dem Login kopieren
Nach dem Login kopieren

请问应该怎么修改?谢谢!!!

回复内容:

纯新人,跳转代码别人帮我写的,目的是跳转,文件为go.php
当网址输入go.php?id=taobao的时候就跳转到www.taobao.com

换主机后发生错误
Warning: Cannot modify header information - headers already sent by (output started at /data/home/。。。。。。/go.php:8) in /data/home/。。。。。。/go.php on line 10

百度得知需要改php.ini但新主机改这个很麻烦。。求有没有直接在以上文件php代码里修改以上错误的方法?

代码:

<code>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>正在进入....</title>


<?php $id=$_GET["id"];
if($id=="taobao"){Header("Location:http://www.taobao.com");
}
?>


</code>
Nach dem Login kopieren
Nach dem Login kopieren

请问应该怎么修改?谢谢!!!

go.php页面的作用只做判断跳转使用的话,html标签可以全部去除,go.php文件的代码只需精简到剩下php即可:

<code>php</code><code><?php $id=$_GET["id"];
if($id=="taobao"){Header("Location:http://www.taobao.com");
}
</code></code>
Nach dem Login kopieren

如果还出现headers already sent 错误的话,就应该是编写代码的编辑器在文件开头隐藏了bom头信息,网上搜一下相关的编辑器对应方法即可。

如果要保留html代码,并且想要跳转的话,需要使用浏览器端页面跳转的方法,代码可以修改为:

<code>php</code><code>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>正在进入....</title>


<?php $id=$_GET["id"];
switch($id) {
    case 'taobao':
        echo "<meta http-equiv=\"refresh\" content=\"0;url=http://taobao.com\">";
        break;
    case 'baidu':
        echo "<meta http-equiv='\"refresh\"' content='\"0;url=http://taobao.com\"'>";
        break;
    case 'others':
        echo "<meta http-equiv='\"refresh\"' content='\"0;url=http://others.com\"'>";
        break;
}
?>


</code>
Nach dem Login kopieren

【http-equiv实现跳转与header跳转有啥区别】请参照 http://segmentfault.com/q/1010000000703858

<?php ... ?>代码块放到文件最顶部.

header() 被用来发送自定义的 HTTP 报文。
请注意一点header()必须在任何实际输出之前调用,不管是普通的html标签,还是文件里面的空行,空格或者是PHP>文件里的空行,空格。
这是一个非常普遍的错误,在通过include,require,或者其访问其他文件
里面的函数的时候,如果在header()被调用之前,其中有空格或者空行。
如果不是调用其他文件,仅仅是单独使用一个PHP或者HTML文件,在header()被调用之前有输出也会出错。
php手册

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!