Сессии не работают, как они должны PHP - PullRequest
0 голосов
/ 17 августа 2010

У меня есть простая форма, которая передает переменную сеанса, и она просто не может загрузить на второй странице.Я запустил его на другом сервере, и после его перемещения на новый он больше не работает.У меня одинаковая версия PHP (PHP 5) на обоих, и она работает на одной, а не на другой - массив $_SESSION просто полностью пуст.

Я проверил, были ли идентификаторы сессии одинаковыми, и они абсолютно одинаковы на обеих страницах формы (НЕ на обоих серверах, они явно разные).

session_start(); это первая строка кода на всех страницах формы.

Первая страница

session_start();

echo "session id ".session_id();

$_SESSION["gencode"] = $gencode;

Вторая страница

session_start();

echo "session id ".session_id();  

echo $_SESSION["gencode"];

Опять же, у меня все работало точно так же на другом сервере, после того, как эта часть сломалась, если яискать настройку где-нибудь на сервере?Оба являются Linux, если идентификатор сеанса повторяется, что означает, что существует один и тот же сеанс, верно?

Любой совет поможет.

Ответы [ 2 ]

1 голос
/ 17 августа 2010
  1. Проверьте php.ini на обоих серверах и убедитесь, что настройки сеанса совпадают.
  2. var_dump ($ _ SESSION), чтобы увидеть, что находится в сеансе.Вы можете увидеть что-то интересное.
0 голосов
/ 17 августа 2010
  1. Обе ли страницы доступны через один и тот же домен?
  2. Как и почти любая другая функция PHP, session_start() может завершиться ошибкой и возвращает FALSE, если это так.Можете ли вы проверить возвращаемое значение?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...