-3

次のエラーが表示されます:警告: ヘッダー情報を変更できません - ヘッダーは既に送信されています (output started at /Applications/XAMPP/xamppfiles/htdocs/recover.php:11) in /Applications/XAMPP/xamppfiles/htdocs/recover.php on line 22

これは私のコードですので、ご覧ください:

<?php

include 'core/init.php';
logged_in_redirect();

?>


<h1> Recover </h1>

<?php
if (isset($_GET['success']) === true && empty($_GET['success']) === true) {
?>
    <p>thanks we have emailed you</p>
<?php
} else {
    $mode_allowed = array('username', 'password');
        if(isset($_GET['mode']) === true && in_array($_GET['mode'], $mode_allowed) === true) {
            if(isset($_POST['email']) === true && empty($_POST['email']) === false){
                if (email_exists($_POST['email']) === true) {
                    recover($_GET['mode'], $_POST['email']);
                    header('Location: recover.php?success');
                    exit();
                } else {
                    echo 'we cant find that email in our database';
                }
            }

?>
    <form action="" method="post">
        Please enter your email adress:<br>
        <input type="text" name="email"><br>
        <input type="submit" value="Recover!">


    </form>

<?php
    } else {
        header('Location: index.php');
        exit();
    }
}

?>

これを修正するにはどうすればよいですか?前もって感謝します

4

1 に答える 1

1

PHPによって何かが出力された後、ヘッダー情報、場合によってはリダイレクトを変更することはできません。

削除するとエラーは修正されますが、HTML 出力の前に表示される<h1> Recover </h1>ようにコードを再考する必要があります。header('Location: recover.php?success');

于 2013-07-15T00:06:18.293 に答える