2012-03-10 5 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

쿠키의 관련 부분은 ** 쿠키가 아닙니다. [이름] **에 공백을 허용하십시오 (따라서 $ COOKIES의 키는 허용하지 않습니다). 이것은 HTTP 쿠키가 정의되는 방법입니다. 또한 쿠키를 처리하는 일부 브라우저 단점이 있지만 ... 아아, PHP의 범위를 벗어나 다른 곳에서 다루어집니다. –

관련 문제