Читайте о настройке файлов cookie Javascript и, в частности, о пути и доменном доступе здесь:
http://www.quirksmode.org/js/cookies.html
Я думаю, что происходит одна из двух вещей:
- Вы не обращаетесь к куки-файлу из того же домена / субдомена и / или
- другая страница не является частью пути, указанного cookie.
Таким образом, ваш файл cookie не передает браузеру соответствующую информацию, чтобы он был доступен через субдомены и / или путь к каталогу.
document.cookie = 'ppkcookie1=testcookie; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/; ;domain=.example.com'
Обратите внимание, .example.com
- это просто пример домена (вам нужен ваш там), и вам не нужен подстановочный знак, отличный от начального .
, так как он распространяется на все субдомены. И вам нужно сгенерировать дату expires=
. Из QuirksMode:
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
} else {
var expires = "";
}
document.cookie = name+"="+value+expires+"; path=/; domain=.example.com";
}
Я добавил бит domain=
в функцию QuirksMode.
РЕДАКТИРОВАТЬ (В примере ниже приведены ссылки на страницы на моем личном веб-сайте.)
Андрей, у меня это прекрасно работает:
http://example.com/test.php
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/; domain=.example.com";
}
createCookie('cookieee','stuff','22');
http://example.com/test/test.php
<pre>
<?php
print_r($_COOKIE);
?>
И распечатка $_COOKIE
покажет печенье. Обратите внимание, что при проверке файлов cookie файл .example.com правильно указывается в качестве домена.