ホームページ >バックエンド開発 >PHPチュートリアル >ヘッダー内の予期しない空白行、または出力と Cookie 設定の問題_PHP チュートリアル
PHP setcookie() または PHP header(‘Location:’) が機能しない – 解決策あり PHP の setcookie() または header() 関数がまったく機能しません。
PHP の setcookie() と header() は、ブラウザ出力の前に呼び出す必要があります。 echo や print の呼び出し、あるいは誤って空白が入った場合、それらの関数は機能しません。ローカルホストでは動作するが (奇妙なことに、特定の条件下では動作します!)、サーバーでは動作しない場合は、no-output-before-headers 違反を確認し、修正して動作させるようにしてください。
説明
HTTP ヘッダーは HTTP コンテンツの前に送信する必要があります。そうしないと機能しません。 PHP header() 関数は、標準およびカスタム HTTP ヘッダーの送信に使用されるため、当然のことながら、ブラウザ出力の前に呼び出す必要があります。 setcookie() は header(‘Set-Cookie:’) へのラッパー関数であるため、最終的には header() 呼び出しとなるため、ブラウザ出力の後に呼び出された場合、setcookie() も機能しません。
メモ
PHP header() 関数は、標準およびカスタム HTTP ヘッダーの送信に使用されます
header() はブラウザ出力の前に呼び出される必要があります
setcookie() はブラウザ出力の前に呼び出される必要があります
setcookie() はヘッダーへのラッパー関数です('Set-Cookie:')
html">http://www.hacksparrow.com/php-setcookie-or-php-headerlocation-not-working-with-solution.html
追加のヒント:
これは、PHP ファイルの末尾に关闭シンボルが使用されているためです
エコーハローワールド;
?>
の理由は、この行以外に空白行、空白符
が入力される可能性があるためです。