![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
wow1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.9.2009 Репутация: нет Всего: нет |
Здравствуйте! Помогите пожалуйста! Готов даже отблагодарить за дельный совет по вебмани(если все сработает) Сделал авторизацию на сайте. Слетает сессия авторизации! То есть бывает все нормально, работаешь под своим аккаунтом, а потом перешел на какую-то страницу и сессия слетела, заново просит авторизацию. Причем немогу отловить, в чем ошибка, можно работать например, 2 часа и все будет нормально, а может слететь и через 5 минут. То есть время от времени на разных страницах. Пробовал выводить содержимое куки, заметил, что, когда сессия слетает, то PHPSESSID из куки удаляеться. Пробовал: 1.устанавливать ему максимально время жизни через setcookie("PHPSESSID",session_id(),неогранич.время) 2.устанавливать session_set_cookie_params(10800); session_start(); 3.Устанавливать в .htaccess php_value session.gc_maxlifetime 10800 php_value session.cookie_lifetime 10800 Сессия у меня стартует в самом начале сайта, т.к сесси использовал используються не только при авторизации. При выходе из аккаунта(logout): session_start(); session_destroy(); hrader('location:index.php'); Начальный код(index.php): ob_start(); session_set_cookie_params(10800); session_start(); |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
во-первых, время жизни сессионной куки должно быть равно 0
во-вторых, зачем ob_start перед стартом сессии? в-третьих, что означает фраза "ерешел на какую-то страницу и сессия слетела"? так происходит всегда, когда сессия "слетает", или она может слететь и при нахождении на сайте, причем не после перерыва в работе, а сразу после посещения какой-либо страницы? через сколько конкретно времени слетает, в секундах? |
|||
|
||||
wow1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.9.2009 Репутация: нет Всего: нет |
------во-первых, время жизни сессионной куки должно быть равно 0
поставил, теперь в .htacess только php_value session.gc_maxlifetime 10800 Но и когда он был пустой, проблемма была та же. -----во-вторых, зачем ob_start перед стартом сессии? За это спасибо! Попробую! Проблемма в том, что время до слета сесси РАЗНОЕ. Она слетает при нахождении на сайте... допустим хожу по разделам перехожу на один из них-и заново запрашивает авторизацию. |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
ob_start никакого отношения к сессиям не имеет.
просто смысла ее писать перед стартом сессии нет ни малейшего. вообще, если нет понимания механизма сессий, то я бы настоятельно рекомендовал делать все с настройками по умолчанию. причина может быть давно исправлена, а сессии перестают работать из-за шаманских плясок с бубном. и собирать статистику. через какое время после последней активности пользователя слетела сессия. плюс мониторить обмен куками. в общем, если говорить короче. никакой "известной ошибки" или чего-то подобного, "исправь в 13-й строке" в механизме сессий нет. это примитивный механизм, который работает на куках. поэтому ошибку надо искать. не пытаться ставить малопонятные куски кода в надежде заткнуть дырку, а искать её. для начала вернуть все настройки в дефолтное состояние. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |