Переменные $ _SESSION не переносятся со страницы на страницу - PullRequest
0 голосов
/ 23 июня 2009

Если я напишу следующий код:

session_start();
$_SESSION['user_id']='daniel';

переменная остается в порядке, пока я нахожусь на странице, на которой она была создана, и когда я пытаюсь вызвать $_SESSION['user_id'] с другой страницы, я не получаю ответ. Кто-нибудь может сказать мне, какую ошибку я делаю?

Ответы [ 4 ]

13 голосов
/ 23 июня 2009

Вы должны использовать session_start() на каждой странице, на которой вы хотите использовать сеансы.

4 голосов
/ 23 июня 2009

Пока:

  • Вы делаете session_start() на другой странице. Примечание: вы не сделаете этот звонок один раз. Вы делаете это на каждой странице, которая хочет получить доступ к информации о сеансе;
  • На другой странице могут отображаться ваши куки с этого сайта (т.е. достаточно похожий домен); и
  • Другая страница работает на том же сервере.

тогда он может это увидеть. Создайте простой контрольный пример, проверьте это, а затем выясните, почему то, что вы делаете, отличается.

1 голос
/ 23 июня 2009

Убедитесь, что файл cookie PHPSESSID действительно установлен и что заголовки / содержимое не были отправлены до вызова session_start ()

1 голос
/ 23 июня 2009

Вы должны иметь session_start() на на каждой странице

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