コードは次のとおりです:
リーリーなぜ常に NULL が出力されるのですか? 「myvalue」が単に設定された出力ではないのはなぜですか?
コードは次のとおりです:
リーリーなぜ常に NULL が出力されるのですか? 「myvalue」が単に設定された出力ではないのはなぜですか?
COOKIEはクライアントから持ってくるので、読み込んだCOOKIEは最後のスクリプトで設定する必要がありますが、このスクリプトを実行するたびに、前回設定したCOOKIEを削除して、新しいCOOKIEを設定する必要があります。次回実行されるスクリプトによって読み取られます。次に、削除-セット-削除-セットのサイクルを続けます。 。 。だから読めないんです。
COOKIE を SESSION に変更すると、SESSION は COOKIE ほど遅くなりません。サーバー上に保存されます。
COOKIE の割り当ては、次の閲覧リクエストまで有効にならないためです。でも、次に閲覧するときに削除してしまうので、このクッキーがどれだけあなたにとって憎しみを持っているのか気になります...
このリクエストの $_COOKIE['mycookie'] を削除しました。setcookie を有効にするためには、次のリクエストが必要です。
$_COOKIE は、Cookie 情報を PHP に渡すブラウザです。
setcookie は、ブラウザに Cookie 情報を通知します。
つまり、$_COOKIE['xxx'] を生成するには、setcookie('xxx') が配置されている request が最初に実行される必要があります。
「myvalue」を出力したい場合は、コメントアウトできます
。アウトプットできますunset($_COOKIE[$cookie_name]);
unset はすぐに有効になりますが、set_cookie は次のリクエストまで有効になりません。
同様に、unset文を削除した場合、出力結果は先ほどのset_cookieではなく、最後のset_cookieになります。
たとえば、未設定の文を削除して更新すると、
と表示されますが、問題ありません。
string(7) "myvalue"
その後、myvalue を myvalue2 に変更して更新しましたが、まだ表示されました
string(7) "myvalue"
表示するには再度更新してください