2017-06-27 1 views
0

私は次のように私が開発したPHPページにクッキーを使用しています:PHPでユーザーごとにCookieを設定するには?

setcookie("ThisCookie[to]", $toValue, time() + (10 * 365 * 24 * 60 * 60), "/"); 

私はクッキーが設定されて検出された場合は、私は値を取得:

 foreach ($_COOKIE["ThisCookie"] as $name => $value) { 
     if ($name == "to") 
     { 
      $cookie_to = $value; 


     } 

これはでうまく動作します最初の一見、私がページを訪問したマシンに関係なく、私はクッキーから返されたSAME値を取得します。たとえば、私のデスクトップコンピュータでは、 "ABC"の値を入力し、このクッキーに保存されます。別のコンピュータや自分の電話からサイトにアクセスすると "ABC"が返されます。

クッキーの仕組みを誤解していますか?ユーザーごとにローカルマシンに格納され、すべてのユーザーに共通ではないと考えました。私がページを訪問したマシンに関係なく、同じ値がクッキーから返されるのはなぜですか?

ありがとうございました。

答えて

1

あなたはそれをすべて間違って仲間を得ました...

クッキーは、ユーザーのであり、ユーザーのマシンに保存されています。

PHPで変数$_COOKIEを処理すると、ヘッダーで渡された特定のユーザーのCookie(要求を行ったユーザー)を処理します。サーバーの場合

は、だから、私は私が見ている行動を見てすべきではないと各マシンは、Cookieのそれ自身の価値を持つことができるはず言っている程度$_SESSIONhttp://php.net/manual/en/reserved.variables.session.php

+0

を読みますか? – AS2012

+0

それは...キーは 'ThisCookie'で、値はあなたが設定したものなので...各マシンはあなたが設定したものを返します。 – EvgenyKolyakov

関連する問題