0

ページを開くたびに、次のエラーが表示されます。

[04-Jul-2012 17:10:45] PHP警告:ヘッダー情報を変更できません-ヘッダーは/home/test/public_htmlの(/home/test/public_html/admin/header.php:39で開始された出力)によってすでに送信されています80行目の/admin/edAgent.php

[04-Jul-2012 17:10:55] PHP警告:ヘッダー情報を変更できません-ヘッダーは/home/test/public_htmlの(/home/test/public_html/admin/header.php:39で開始された出力)によってすでに送信されています80行目の/admin/edAgent.php

ヘッダーを含むコードの断片:

エンコーディングヘッダー:

header('Content-Type: text/html; charset=utf-8');

ログインリダイレクトヘッダー:

if(!isset($_SESSION["login"])OR $_SESSION["login"]!=1){        
    header('Location: login.php');
    exit;     
    }

ログに記録されたユーザーが編集する権限を持っているかどうかを確認します。

if($level!='4') {
    header('Location: acd.php?msg=1');
    exit;
}

IDが存在するかどうかを確認します。

if ($nUsers==0) {    
    header('Location: acd.php?msg=2');
    exit;    
}

情報が編集可能かどうかを確認します。

if($access != '4') {        
    header('Location: acd.php?msg=1');
    exit;        
}
4

3 に答える 3

2

画面に何かを出力すると、ヘッダーが書き込まれます。したがってheader()、コードで使用する場合は、何かを出力する前にこれを行うか、最初に。を使用して出力バッファリングをオンにする必要がありますob_start()

于 2012-07-05T09:59:09.837 に答える
1

ヘッダーがすでに送信されている場合は、JSメソッドが機能するはずです。

print '<script type="text/javascript">window.top.location.href = "'. $myurl .'";</script>';
于 2012-07-05T11:21:53.697 に答える
0

ob_start();ページの最初と最後に追加しob_end_flush();ます。header()の後に出力コードを含めるべきではありませんが、header()を関数に格納してみてください。

それが役に立てば幸い

于 2012-07-05T10:09:04.623 に答える