2012-03-10 13 views
0

私は$ _SESSIONと$ _COOKIEでいくつかのテストをしました。なぜなら、彼らは私が期待どおりに働いていなかったからです。これらのコード行が異なる動作をする理由を知りたい。

$_SESSION[1] = 'foo';   // Does not work because of the integer 
$_COOKIE[1] = 'bar';   // Works 

$_SESSION['foo bar'] = 'foo'; // Works with the space 
$_COOKIE['foo bar'] = 'bar'; // Does not work 

$ _SESSIONと$ _COOKIEは、サーバー側とクライアント側の違い以外は同じと思いました。両者の間に他の違いはありますか?

+2

これは単なる違いですが、重要です。 – KingCrunch

答えて

2

答えはthis questionですが、いくつかの問題に取り組んでいますが、セッションまたはクッキーの違いによって制限が異なることを簡単に説明します。セッションは異なるphp.iniの設定によって空間的に制限されており、クッキーはキーなどのスペースを許可していません。

+0

関連する部分は**クッキーはありません[names] **のスペースを許可します(したがって、$ COOKIESのキーは許可しません)。これは、HTTPクッキーの定義方法です。また、クッキーを扱ういくつかのブラウザの不具合があります...しかし、残念ながら、PHPの範囲外であり、他の場所でカバーされています。 –

関連する問題