その結果、setcookieで設定したCookieが有効にならず、ブラウザ側に表示されないという問題が発生しました。確認したところ、setcookie は HTTP リクエスト応答のヘッダーによって完了しており、(他のヘッダー設定と同様に)リクエスト応答の内容が出力される前に実行する必要があることがわかりました。
php.ini で error_reporting = E_ALL の場合、コンテンツを出力して Cookie を設定した後、次のプロンプトが表示されます:
コードをコピーします コードは次のとおりです:
警告:ヘッダー情報を変更できません – ヘッダーはすでに送信されています (出力は C:xampphtdocsb.php:2 で開始されました) で … オンライン …
しかし、php.ini が error_reporting = E_ALL & ~E_NOTICE に設定されていたため、プロンプトは表示されませんでした。開発中は、 E_ALL を error_reporting = に設定することをお勧めします。異常な状況を観察するには E_ALL が便利です。
setcookieの使用例を添付します
a.php
コードをコピーします コードは次のとおりです:
setcookie("page", "a.php"); page = $_COOKIE["ページ"] : "不明";
" から " . "
";
これは、
b.php に移動します
コードは次のとおりです:
setcookie( "page", "b.php");
$page = isset($_COOKIE["page"]) : "不明"; " . $page . "< br />
";
?> これは b.php です。a.php に移動しますあ>
http://www.bkjia.com/PHPjc/323842.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/323842.html
技術記事
その結果、setcookieで設定したCookieが有効にならず、ブラウザ側に表示されないという問題が発生しました。確認したところ、setcookieはHTTPリクエストレスポンスのヘッダーを通じて行われていることが分かりました...