Cookies - это пары ключ / значение - они будут иметь только одно значение в любой заданной области.
Однако:
- Возможно иметь более одного cookie стот же ключ и другие значения для одного и того же домена (хотя он будет иметь только одно действующее значение в любой заданной области).
Например, если вы установите cookie st
в корне (/
) со значением 1
, а в /diary/
со значением 2
два куки будут существовать сами по себе.Когда вы находитесь в каталоге /
(или в любом подкаталоге /
, который не является /diary/
или подкаталоге /diary/
), значение будет 1
.Если вы находитесь в /diary/
или подкаталоге /diary/
, если будет 2
:
Directory Cookie Value
/ 1
/somedir/ 1
/diary/ 2
/diary/subdir 2
/somedir/diary/ 1
- Можно установить тот же cookieдважды в одной и той же области действия, но будет действовать только более позднее значение - более позднее значение переопределяет предыдущее значение.
Например:
setcookie('st',1); // st is now 1 for the current path
setcookie('st',2); // st is now 2 for the current path
Если вы посмотрите на HTTPВ ответном сообщении, отправленном PHP, вы увидите 2 Set-Cookie:
заголовка для ключа st
.Однако при следующем запросе в области действия cookie на сервер будет отправлено только более позднее значение 2
.