Вход

Просмотр полной версии : Пропадают сессии при переходе между страницами


Wowa
23.01.2006, 06:12
Пропадают сессии при переходе между страницами.
Я ставлю сессию так $_SESSION['test_ses']="wowa";
А на другой странице пытаюсь читать $_SESSION['test_ses'] и ничего там нет.
Да и вообще print_r($_SESSION) тоже ничего не выводит.

Пробовал подключать и через page_php_content и через свой плагин. Но все равно не работает....

Dutchak Vitaly
23.01.2006, 13:20
А ты пробовал перед выводом и перед установкой сессий ставить session_start(), а после установки вывода на экран ставить session_write_closed() только без @ вначале?

Wowa
23.01.2006, 14:33
session_start() ведь TYPO сам вызывает.... а session_write_closed() еще не пробовал.

Wowa
23.01.2006, 16:17
Я над этой проблемой уже несколько дней мучаюсь. Она меня так довела, что я даже думал уже отказаться нафиг от TYPO3.

Wowa
23.01.2006, 21:27
Решение найдено тут: http://forum.vingrad.ru/index.php?showtopic=80867

Dutchak Vitaly
24.01.2006, 14:44
TYPO3 ставит session_start() только там где ему надо, а потом их закрывает их session_write_close()
После чего массив $_SESSION становится недоступным. Перед использованием сессий всегда пишите @session_start() после дейсвий с сессиями прописывайте @session_write_close(). Всегда закрывайте сессии иначе php будет думать что скрипт не окончен и будет ждать когда истечет вермя исполнения. Что повлияет на скорость выполнения скриптов!

Wowa
24.01.2006, 15:24
Спасибо за ответ. Однако насчет @session_write_close() я придерживаюсь иного мнения, т.к.
Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking. You can reduce the time needed to load all the frames by ending the session as soon as all changes to session variables are done.

http://de3.php.net/manual/ru/function.session-write-close.php