сессия уничтожена между страницами - PullRequest
0 голосов
/ 09 ноября 2010

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

Я уже убедился, что вызывается session_start.Для этого сайта есть только один домен, и мой браузер настроен на прием файлов cookie.Я могу перейти на любую другую страницу и увидеть данные сеанса, но только не эту.

Есть ли что-то, что кто-то может предложить, чтобы помочь в отладке этого?страница индекса, поэтому я проверяю, установлена ​​ли сессия ['auth'].Если нет, я пересылаю в / user / login, который позволяет пользователю войти в систему.В случае успеха мы переходим обратно на страницу индекса, где она должна пройти тест сеанса isset.Это терпит неудачу, хотя и нет данных сеанса.

Ответы [ 3 ]

1 голос
/ 09 ноября 2010

set.php:

session_start();
$_SESSION['auth'] = true;

header('Location: /');

index.php:

session_start();

var_dump($_SESSION);

Создайте эти 2 файла и запросите set.php. Что ты видишь?

0 голосов
/ 09 ноября 2010

То, к чему я часто прибегал, случайно перенаправляет со страницы с www. в URL к странице без. Я не совсем уверен, почему это происходит, но по какой-то причине сеанс между сайтами отличается от и без «www.».

0 голосов
/ 09 ноября 2010

Если вы установите переменную сеанса, а затем выполните перенаправление заголовка, вам нужно добавить session_write_close () перед перенаправлением, иначе вы потеряете модификацию sesson.

...