php头给了我一个错误

php头给了我一个错误,php,header,Php,Header,首先,不要认为这是个复杂的问题。 我已经尝试了所有的解决方案,但没有任何帮助 我得到以下错误: “无法修改标题信息-第4行/home/gogiavag/public_html/maxkapital/user.php:7)中/home/gogiavag/public_html/maxkapital/func.php中已发送的标题” 我已转换为utf8(无BOM)的所有页面。我一开始没有领先的空间,但除此之外,没有任何帮助 这是我的密码: login.php <?php session_sta

首先,不要认为这是个复杂的问题。 我已经尝试了所有的解决方案,但没有任何帮助

我得到以下错误: “无法修改标题信息-第4行/home/gogiavag/public_html/maxkapital/user.php:7)中/home/gogiavag/public_html/maxkapital/func.php中已发送的标题”

我已转换为utf8(无BOM)的所有页面。我一开始没有领先的空间,但除此之外,没有任何帮助

这是我的密码:

login.php

<?php session_start();?> 
 <html>
 <head>
 <meta charset="utf-8" /> 
 <link rel="stylesheet" type="text/css" href="style.css"/>
 </head>    
 <body>
 <?php include "header.php"; require_once 'func.php';?> 
    <form method="POST" action="user.php">
    <table style="margin-top: 10px;">
    <tr>
    <td><label for ="txtuser">name:</label></td>
    <td><input type="text" style="padding:5px;" id="txtuser" name="txtuser" value="<?php if (isset($_SESSION['txtuser'])
    ){echo $_SESSION['txtuser'];}else{echo '';} ?>"  </input></td>
    </tr>
    <tr>
    <td><label for ="txtpassword">password:</label></td>
    <td><input type="password" style="padding:5px;" id="txtpassword" name="txtpassword"> </input></td>
    </tr>

    <tr>
    <td></td>
    <td><input type="submit" value ="Enter" style="padding:5 55 5 55;background-color:#3f4194;color:#fff;" name="btnsubmit" id="btnsubmit"> </td>
    </tr>   

    </table>    
    </form>

    <?php 
    if (isset($_SESSION['err'])){
        if ($_SESSION['err']===true){
            echo gg_stringformat("<img src='error.png' style='margin-left:50px;'><img/> <span style='font-size:10pt; color:#ff0000'>{0}</span>",     $_SESSION['errmsg']);
        }   
    }

    if(isset($_SESSION['err'])){unset ($_SESSION['err']);};
    if(isset($_SESSION['errmsg'])){unset ($_SESSION['errmsg']);};
    if(isset($_SESSION['txtuser'])){unset ($_SESSION['txtuser']);};
    if(isset($_SESSION['txtpassword'])){unset ($_SESSION['txtpassword']);};
    ?>

</body> 

</html>

姓名:

PHP并没有欺骗您,您确实已经在
user.PHP
中的第2行开始了输出-您可以打印
以在那里响应

然后打印
和更多HTML,然后从
func.php
调用函数
gg_redirect()
,如果
!isset($\u POST['btnsubmit'])
,这会导致错误,因为输出已启动,无法再发送重定向标头

在将任何内容发送回客户端(除了其他响应头)之前,您需要检查输入并可能重定向。具体来说,在处理可能的重定向之前,不要打印任何HTML:

<div id="divheader" >
<p> <img src="coins.png"></img>MAX_KAPITAL</p>
</div>

PHP没有骗你,你确实已经在
user.PHP
的第2行开始了输出-你在那里打印

然后打印
和更多HTML,然后从
func.php
调用函数
gg_redirect()
,如果
!isset($\u POST['btnsubmit'])
,这会导致错误,因为输出已启动,无法再发送重定向标头

在将任何内容发送回客户端(除了其他响应头)之前,您需要检查输入并可能重定向。具体来说,在处理可能的重定向之前,不要打印任何HTML:

<div id="divheader" >
<p> <img src="coins.png"></img>MAX_KAPITAL</p>
</div>

虽然@Jiri已经正确地解释了它,但更明确地说:

动议如下:

<?php
    mb_internal_encoding("UTF-8");
    function gg_redirect($url){
        header("location: $url");
    }

然后是页面的其余部分

编辑
func.php正在添加标题,通过在重定向之前包含标题,您将得到该错误。将inlude行移动到重定向后的某个位置,或者检查您的func.php,查看上面编辑的代码,而@Jiri已经正确地解释了它,更明确地说:

动议如下:

<?php
    mb_internal_encoding("UTF-8");
    function gg_redirect($url){
        header("location: $url");
    }

然后是页面的其余部分

编辑
func.php正在添加标题,通过在重定向之前包含标题,您将得到该错误。将inlude行移动到重定向后的某个位置,或者检查func.php,请参阅上面编辑的代码调用
exit()header()之后执行code>,
,否则脚本将继续执行。仅设置标题不足以重定向。恐怕它是重复的!在运行
gg_redirect()
@RajdeepPaul()之前,您将HTML发送到浏览器。更相关的是,在调用
gg_redirect()
Call
exit()之前,他们将5行HTML发送到输出缓冲区header()之后执行code>,
,否则脚本将继续执行。仅设置标题不足以重定向。恐怕它是重复的!在运行
gg_redirect()
@RajdeepPaul()之前,您正在向浏览器发送HTML。更重要的是,在调用
gg_redirect()之前,他们正在向输出缓冲区发送5行HTML。谢谢您的快速回复。但我现在不知道如何重新更改代码。请简要介绍一下主要原则。@Jiri Tusek,在重定向之前请注意包含的内容。如果OP包含一个已经有标题的php脚本,同样的问题也会发生。@Jin感谢您的快速回复。但我现在不知道如何重新更改代码。请简要介绍一下主要原则。@Jiri Tusek,在重定向之前请注意包含的内容。如果OP碰巧包含一个已经有头的php脚本,同样的问题也会发生。
session\u start()
应该没有问题,在一般情况下,重定向决策可能需要session。很高兴你提到了,这样我们就可以讨论了。@JiriTousek,没错。我只是将其移动以保存,您永远不知道OP是否希望在顶部包含任何其他脚本,并且该脚本也已包含标题…@Jiri无法修改标题信息-标题已由发送(输出从/home/gogiavag/public_html/maxkapital/user.php:13开始)在/home/gogiavag/public\u html/maxkapital/func.php的第4行@davejal中,错误在哪里?
session\u start()
应该没有问题,在一般情况下,重定向决策可能需要session。很高兴你提到了,这样我们就可以讨论了。@JiriTousek,没错。我只是将其移动以保存,您永远不知道OP是否希望在顶部包含任何其他脚本,并且该脚本也已包含标题…@Jiri无法修改标题信息-标题已由发送(输出从/home/gogiavag/public_html/maxkapital/user.php:13开始)在第4行@davejal的/home/gogiavag/public_html/maxkapital/func.php中,错误在哪里?
<?php require_once'func.php';
if (!isset($_POST['btnsubmit'])){
    gg_redirect('block.php');
    exit;
}
<?php 
if (!isset($_POST['btnsubmit'])){
    gg_redirect('block.php');
    exit;
}
require_once'func.php';
session_start();
?>