PHP表示警告:无法修改标头信息-标头已由发送(输出起始于/home/waiokqbg/public_html/inde


PHP says Warning: Cannot modify header information - headers already sent by (output started at /home/waiokqbg/public_html/index.php:37)

在我将文件从本地主机"iis"移动到webhotell上的apache之后。我一直收到这样的错误,上面写着"警告:无法修改标头信息-第50行/home/waiokqbg/public_html/index.php:37中的标头(输出开始于/home/wiokqbg/ppublic_html/Engine/php/class/users.class.php)"

它说标题aldreay是由index.php在第37行发送的,在这里代码在第37行的样子index.php:

<div id="loginwrap" <?php if(isset($_GET['noticelogin'])){echo"style='display: block'";} ?>>

在users.class.php的第50行:

    header("location: http://www.mediaview.nu/index.php?noticelogin=0");

p>当您使用header时,您必须确保它上面没有呈现的代码,例如HTML

考虑以下示例:

<?php
    ...
    header("location: http://www.mediaview.nu/index.php?noticelogin=0");
    ...
?>
<html>
    ...

在发送任何输出之前,必须进行任何header调用。

你可以在这里阅读更多关于它的信息。

这意味着在php执行之前有一些额外的信息:确保您遵循布局。

------- There should not be anything here----------
<?php  
   echo "your code here";
?>

第50行不是错误。可能是你的代码在第50行到达之前发送了一条错误消息,你会收到这条消息。

我建议您单独运行此代码,以便获得第一条错误消息。

您可以运行编写一个带有伪参数的URL,例如

index.php?noticelogin=OK&anotherparame=TEST