0

次のようなエラーが表示されます。

警告: ヘッダー情報を変更できません - 66 行目の /home/content/21/10941021/html/register.php で既に送信されたヘッダー (/home/content/21/10941021/html/index.php:4 で開始された出力)

バッファリングを正しく機能させるには、ob_start() を配置する必要があると考えていますが、ダウンさせることはできません。問題が含まれている私のコードは次のとおりです。

<div class="lower-body">
<div class="left-lower">Create an account</div>
<div id="account-first">
<?php ob_start();
if (isset($_GET['success']) && empty($_GET['success'])){
    echo 'You\'ve been registered successfully!';
    echo 'Please check email and activate account!'; 
}else {

if(empty($_POST) === false && empty($errors) === true){
    $register_data = array(
        'firstname' => $_POST['firstname'],
        'lastname'  => $_POST['lastname'],
        'username'  => $_POST['username'],
        'password'  => $_POST['password'],
        'email'     => $_POST['email'],
        'zipcode'   => $_POST['zipcode']
        );

    register_user($register_data);
    header('Location: register.php?sucess');
    exit();
} else if(empty($errors) === false){
    echo output_errors($errors);
    }
}
ob_end_flush();?>

4行目は次のとおりです。

<?php
ob_start();
include 'includes/overall/head.php';
?>

何か案は?どうもありがとう!

4

1 に答える 1

0

header('Location: register.php?sucess');次のような出力の前にある必要がありますecho

編集 1: ob_start();PHP コードの開始時とob_end_flush();終了時に使用すると、問題が解決するはずです。

編集2:これを使用

<?php ob_start(); ?>
<div class="lower-body">
<div class="left-lower">Create an account</div>
<div id="account-first">
<?php
...
...
ob_end_flush();
?>
于 2013-05-02T21:26:57.983 に答える