<?php
setcookie("name", "abc");
echo $_COOKIE["name"];
?>
このページをリロードすると、画面に何も表示されません。なんで?
しかし、もう一度リロードすると、abcが表示されます。
どうして??
Cookieを設定すると、次のページが読み込まれるまで利用できません。
これは、ドキュメントに非常に明確に示されているので、読む必要があります。
Cookieが設定されると、次のページの読み込み時に$_COOKIEまたは$HTTP_COOKIE_VARS配列を使用してCookieにアクセスできます。$_COOKIEなどのスーパーグローバルがPHP4.1.0で利用可能になったことに注意してください。Cookieの値は$_REQUESTにも存在します。
と
Cookieは、Cookieが表示されるページが次に読み込まれるまで表示されません。Cookieが正常に設定されたかどうかをテストするには、Cookieの有効期限が切れる前に、次の読み込みページでCookieを確認します。有効期限は、expireパラメータを介して設定されます。Cookieの存在をデバッグする良い方法は、単にprint_r($ _ COOKIE);を呼び出すことです。
CookieはページのHTTP応答の一部として送信されるため、応答が送信されるまで存在しません。そのため、値を表示するにはページをリロードする必要があります。