ホームページ >バックエンド開発 >PHPチュートリアル >PHP setcookie() がヘッダー情報を変更できない場合の解決策_PHP Tutorial
setcookie() 関数を使用すると、次のエラーが常に報告されます:
警告: ヘッダー情報は変更できません - ヘッダーは既に送信されています....
解決策は次のとおりです:
方法 1:
PHP での Cookie の使用。
1. setcookie は タグの前にある必要があります
2. setcookie を使用する前に、コンテンツを入力するために echo を使用することはできません
4. Setcookie を配置する必要があります。任意のデータ出力 ブラウザより先に送信されます
....
上記の制限により、setcookie() 関数を使用すると、「インデックスが未定義」、「ヘッダー情報を変更できません - ヘッダーは既に送信されています」などの問題が発生します。 by"... で解決してください。その方法は、コンテンツを出力する前に cookie を生成することです。関数 ob_start() をプログラムの先頭に追加できます。
ob_start: 出力バッファをオープンします。
関数形式: void ob_start( void)
説明: バッファーがアクティブ化されると、PHP からのすべてのデータはプログラムの非ファイルヘッダー情報は送信されませんが、内部バッファーに保存されます。バッファの内容を出力するには、ob_end_flush() または flash() を使用してバッファの内容を出力します。
方法 2: 警告の解決策: ヘッダー情報を変更できません - ヘッダーはすでに送信されています...
数日前、テストのために PHP 写真投稿システムをインストールしましたが、エラーが見つかりました 警告: ヘッダー情報は変更できません - ヘッダーすでに送信されています...
今日、再度 openads をインストールしましたが、この問題は依然として発生します。怒り。ずっとネットで検索していて、ファイルの先頭に
ob_start(); を書けば良いと書いてあったのですが、失敗しました。
後で php.ini を開き、output_buffering を on に設定します。 Appache を再起動します。OK。これが解決策のようです。
特別な注意:
utf-8 エンコードを使用する場合は、必ず UTF-8 の BOM を削除してください。これは、utf-8 エンコードされたファイルには BOM が含まれており、php4 および 5 は BOM をサポートしていないためです。 BOM を削除するには、Notepad++ で開いて変換します。
http://www.bkjia.com/PHPjc/319841.html