проблема сессий php - PullRequest
       1

проблема сессий php

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

У меня такая проблема: когда я запускаю сессию в php, ошибок нет, session_start возвращает true, но данные не сохраняются в сессии, файл сессии пуст, а session_id всегда отличается. какая причина?

ini_set('session.use_cookies', '0' );
ini_set('session.use_trans_sid', '1' );    
session_start();
if (isset($_SESSION['test']))
echo($_SESSION['test']);
$_SESSION['test'] = 'test';
echo("<a href='test.php?".SID."'>refr</a>");

Ответы [ 3 ]

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

Убедитесь, что у вас есть разрешение на запись session.save_path. Проверьте файлы журнала.

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

Если вы вручную добавляете session_id в URL, сначала очистите куки. Существуют также параметры безопасности, которые могут блокировать возобновление сеансов таким образом.

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

Вы используете функцию прозрачного sid, но добавляете ее вручную, но неправильно.

Я рекомендую это вместо:

ini_set('session.use_cookies', '0');
ini_set('session.use_trans_sid', '0');
session_start();
if (isset($_SESSION['test']))
    echo($_SESSION['test']);
$_SESSION['test'] = 'test';
echo("<a href='test.php?PHPSESSID=".session_id()."'>refr</a>");
0 голосов
/ 09 ноября 2010

Вы добавляете контент в сеанс? Кроме идентификатора сеанса, сеанс всегда будет пустым при создании, пока вы не создадите / не установите некоторые $_SESSION переменные.

Обратите внимание, что идентификатор $_SESSION всегда будет отличаться при просмотре "сессий".

Смотрите здесь:

Если указан id , он заменит текущий идентификатор сессии идентификатор сессии() нужно позвонить раньше session_start () для этой цели.

http://php.net/manual/en/function.session-id.php

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