0
<?php
    setcookie("name", "abc");
    echo $_COOKIE["name"];
?>

このページをリロードすると、画面に何も表示されません。なんで?

しかし、もう一度リロードすると、abcが表示されます。

どうして??

4

2 に答える 2

11

Cookieを設定すると、次のページが読み込まれるまで利用できません。

これは、ドキュメントに非常に明確に示されているので、読む必要があります。

Cookieが設定されると、次のページの読み込み時に$_COOKIEまたは$HTTP_COOKIE_VARS配列を使用してCookieにアクセスできます。$_COOKIEなどのスーパーグローバルがPHP4.1.0で利用可能になったことに注意してください。Cookieの値は$_REQUESTにも存在します。

Cookieは、Cookieが表示されるページが次に読み込まれるまで表示されません。Cookieが正常に設定されたかどうかをテストするには、Cookieの有効期限が切れる前に、次の読み込みページでCookieを確認します。有効期限は、expireパラメータを介して設定されます。Cookieの存在をデバッグする良い方法は、単にprint_r($ _ COOKIE);を呼び出すことです。

于 2012-05-22T14:31:16.063 に答える
0

CookieはページのHTTP応答の一部として送信されるため、応答が送信されるまで存在しません。そのため、値を表示するにはページをリロードする必要があります。

于 2012-05-22T14:31:32.213 に答える