Сессии или куки на мультиплетных вкладках в PHP - PullRequest
2 голосов
/ 15 июня 2011

Можно ли установить переменные сеанса или файлы cookie, которые будут существовать на всех вкладках?

Я думал, что Firefox поддерживает сессию на всех существующих вкладках, однако я тестирую и обнаруживаю, что только текущая вкладка, на которой изначально был установлен сеанс, является доступной сессией.

Спасибо!

EDIT:

Вкладка 1:

setcookie("testcookie", "something", time()+(60*60*24*365));

Вкладка 2:

print_r($_COOKIE['testcookie']);

Tab 2 печатает только пустой массив. Если я переместу это на вкладку 1, он распечатает cookie.

Ответы [ 3 ]

5 голосов
/ 15 июня 2011

Файлы cookie всегда отправляются на сервер при условии, что:

  • Домен совпадает (включая поддомен).
  • Путь совпадает (куки могут быть назначены определенному пути -- назначение их пользователю root означает весь домен).
  • Порт совпадает.
  • Протокол (http / https) совпадает, если вы установили cookie как безопасный.

Пока все это верно, у вас должен быть сеанс cookie / cookie на всех вкладках.Вам нужно будет обновить вкладку, чтобы увидеть какие-либо эффекты куки-файла (в том числе увидеть его в Javascript расширений Firefox).

Если все они верны и вы все еще не видите свой куки-файл на всех вкладках,вам нужно много отладки ... это не стандартное поведение.

1 голос
/ 15 июня 2011

Когда я тестирую код, который вы показываете в редактировании, у меня вообще не возникает проблем ...

Несколько вещей, которые вы можете попробовать:

  • Удалите все куки из Firefox и запустите снова (если вы уже установили куки, но с другими настройками браузер иногда запутывается ...
  • Попробуйте использовать другой браузер или другой компьютер.
  • установить путь к cookie для "/" и, необязательно, для домена .youdomain.com следующим образом setcookie("testcookie", "something", time()+(60*60*24*365), "/", ".yourdomain.com");

Если вы все еще не можете заставить его работать, лучшим вариантом будет очистка сервера, возможно, с новой установкой PHP и Apache.

0 голосов
/ 15 июня 2011

Чтобы иметь универсальное хранилище, идите с cookie.

Печенье на стороне клиента Сессия на стороне сервера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...