ホームページ > バックエンド開発 > PHPチュートリアル > php ヘッダー情報を変更できません - すでに送信されたヘッダー by_PHP教程

php ヘッダー情報を変更できません - すでに送信されたヘッダー by_PHP教程

WBOY
リリース: 2016-07-13 10:57:01
オリジナル
879 人が閲覧しました

昨日Cookieを使用すると、ページでエラーが報告されました: php Cannot edit header information-headers added by エラーの解決策をまとめておきます。

コード

コードは次のとおりです コードをコピー
ob_start();
setcookie("ユーザー名","ソン・ヤンビン",time()+3600);
echo "ユーザー名は:".$HTTP_COOKIE_VARS["ユーザー名"]."n";
echo "ユーザー名は:".$_COOKIE["ユーザー名"]."n";
print_r($_COOKIE);
?>

警告: ヘッダー情報は変更できません - ヘッダーは既に送信されています。エラーの理由

phpプログラムの先頭に追加しました

header("キャッシュ制御:キャッシュなし、再検証が必要");

原因分析

PHP での Cookie の使用にはいくつかの制限があります。
1. setcookie は タグの前にある必要があります。 2. setcookieを使用する前は、echoを使用してコンテンツを入力することはできません
3. Web ページが読み込まれるまで Cookie は表示されません
4. データを送信する前に、ブラウザにデータを出力する前に setcookie を配置する必要があります
……
上記の制限により、setcookie() 関数を使用すると、「インデックスが定義されていない」、「ヘッダー情報を変更できません - ヘッダーはすでに送信されています」などの問題が発生する可能性があります。解決策は、出力する前に Cookie を生成することです。内容

解決策

1 ページ上部の php タグに ob_start();

を追加します。

2 返された情報の下に ob_end_flush();

を追加します

このようにして、誤った情報の現実をブロックすることができます

しかし、一部の友人は、上記の方法は機能しなかったと言いました。その後、php.ini を開いて、output_buffering を on に設定しました。 Appache を再起動します。OK。これが解決策のようです。


さらに、これはエンコーディングの問題であり、変換されたドキュメントが UFT-8 を備えている限り解決できると言う友人もいますが、ここでは紹介しません。

http://www.bkjia.com/PHPjc/632113.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632113.html技術記事昨日、Cookie を使用しているときに、ページでエラーが報告されました: php Cannot edit header information-headers selected by から送信されたエラーの解決策をまとめておきます。 コード コードは次のとおりです コードをコピーしてください...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート