0

PHPを使用したCookieの新規作成者です。その値を変更する際に問題があります。やりたいことをシミュレートできるようにテストを作成しましたが、できません。だから私はこれが可能かどうか尋ねたいです。

ここに私のサンプルコードがあります:

<?php
setcookie('name', 'test1', (time()+30*60), '/');
echo $_COOKIE['name'];

setcookie('name', 'test2', (time()+30*60), '/');
echo $_COOKIE['name'];

?>

出力は次のとおりです: test2test2

私の希望する出力は次のとおりです: test1test2

私に何ができる?

4

1 に答える 1

0

すべての言語での Cookie の動作は次のようになります。1) Cookie はスクリプトによって作成され、クライアントのシステムに保存されます。2) クライアントのシステムに、要求された URL に属する Cookie がある場合、HTTP 要求を介して送信されます。3) ステップ (2) の後でのみ、スクリプトは Cookie を読み取ることができます。

あなたのシナリオでは:スクリプトが setcookie('name', 'test1', (time()+30*60), '/'); を実行するとき // Cookie は name= test1 として設定されます

echo $_COOKIE['name'];//しかし、スクリプトは name という名前の Cookie を見つけることができません。これは、最初に HTTP 要求を介して送信されないためです。

setcookie('name', 'test2', (time()+30*60), '/');// Cookie は test2 によって上書きされます

echo $_COOKIE['name'];//しかし、スクリプトは name という名前の Cookie を見つけることができません。これは、最初に HTTP 要求を介して送信されないためです。

ページを更新すると、Cookie name=test2 が HTTP リクエストを介して送信され、スクリプトは $_COOKIE['name'] を test2 として読み取ります。

于 2013-11-14T16:17:52.317 に答える