|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.12.2010, 13:59 | #1 |
Форумчанин
Регистрация: 16.03.2009
Сообщений: 205
|
Сессии
У меня тут запарка случилась с сессиями. Когда 1 сессию начинаю и завершаю её всё работает. Но когда начинаю другую(например вход под другим пользователем при этом сессию 1-го пользователя завершил), то 1 сессия чередуется со 2 сессией после обновления страницы. В добавок когда по очереди их ещё обе завершаешь, после обновления страницы ты можешь оказаться под 1 или 2 юзером или вообще без сессии. Я уже начал верить в паранармальное.
Начинаю сессию так: $_SESSION['login']=$myrow2['login']; $_SESSION['id']=$myrow2['id']; $_SESSION['level']=$myrow2['level']; Сессию завершаю так: unset($_SESSION['id']); unset($_SESSION['level']); unset($_SESSION['login']); session_destroy(); |
19.12.2010, 14:27 | #2 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
Начинать нужно сессию так:
Код:
А для закрытия достаточно Код:
http://phpfaq.ru/sessions |
19.12.2010, 14:46 | #3 |
Форумчанин
Регистрация: 16.03.2009
Сообщений: 205
|
session_start(); - этот код стоит у меня на всех страницах сайта.
session_destroy(); - этот только на странице выхода. Я так понимаю все session_start(); нужно заменить на: if (isset($_REQUEST[session_name()])) session_start(); |
19.12.2010, 15:02 | #4 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
Да, можно так.
Вот например как у меня: Код:
Вот логин: Код:
Код:
Последний раз редактировалось Никки; 19.12.2010 в 15:11. |
19.12.2010, 16:24 | #5 |
Форумчанин
Регистрация: 16.03.2009
Сообщений: 205
|
Осталась та же проблема. Может это быть связанно с хостингом?
|
19.12.2010, 17:01 | #6 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
Может быть. Попробуйте указать свою папку на сервере для хранения сессий.
в .htaccess php_value session.save_path "sessions/" (тут как то надо указать абсолуютый путь) либо с помощью функции session_save_path($_SERVER[DOCUMENT_ROOT]."/sessions/"); либо так: ini_set('session.save_path', $_SERVER[DOCUMENT_ROOT]."/sessions/"); Разумеется в .htaccess нужно будет услановить Deny from all для папки sessions/ Последний раз редактировалось Никки; 19.12.2010 в 17:03. |
19.12.2010, 21:56 | #7 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Это скорее связано с браузером (например, проблема наблюдается для FF всегда). Убивайте сессионные куки через JS.
|
20.12.2010, 07:32 | #8 |
Форумчанин
Регистрация: 16.03.2009
Сообщений: 205
|
Я вообще без кук работаю или они сами создаются при начале сессии? Я просто про них ещё не читал.
|
20.12.2010, 09:21 | #9 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Куки если не запрещены создаются автоматически.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сессии в сервлетах | Musho | Общие вопросы по Java, Java SE, Kotlin | 1 | 19.10.2010 05:06 |
Сессии | L_M | PHP | 3 | 06.06.2009 10:27 |
Сессии | limon | PHP | 19 | 29.11.2008 22:46 |