ホームページ > バックエンド開発 > PHPチュートリアル > $_COOKIE が `setcookie()` をすぐに反映しないのはなぜですか? すぐにアクセスするにはどうすればよいですか?

$_COOKIE が `setcookie()` をすぐに反映しないのはなぜですか? すぐにアクセスするにはどうすればよいですか?

DDD
リリース: 2024-12-11 07:22:18
オリジナル
168 人が閲覧しました

Why Doesn't $_COOKIE Reflect `setcookie()` Immediately, and How Can I Access It Instantly?

setcookie() 呼び出し後の Cookie 値へのアクセス

setcookie() を呼び出した直後に $_COOKIE を使用して Cookie の値にアクセスしようとした場合関数を実行すると、$_COOKIE['uname'] が設定されていないように見える場合があります。これは、Cookie が設定されてもすぐには使用できないために発生します。

この理由は、応答がクライアントに送り返されるまで Cookie が設定されないためです。 PHP は、クライアントによって次のリクエストが行われるまで Cookie にアクセスできません。

すぐに Cookie にアクセスする

この問題を回避するには、手動で設定します。 setcookie() を呼び出した後の $_COOKIE の Cookie 値。これにより、同じスクリプト内で Cookie の値にすぐにアクセスできるようになります。

setcookie('uname', $uname, time() + 60 * 30);
$_COOKIE['uname'] = $uname;
ログイン後にコピー

ブラウザと $_COOKIE のマニュアルの両方で Cookie を設定すると、setcookie() を使用して設定した後、すぐにその値にアクセスできます。 .

以上が$_COOKIE が `setcookie()` をすぐに反映しないのはなぜですか? すぐにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート