|
TRIAL ↓
|
 |
|
06 Февраль, 2008, 02:04:52
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 7
Сообщений: 907 Сила слова: 0.77
|
Думаю, все сталкивались с такой же проблемой, с которой столкнулся я.
В документации указано, что $_SESSION будет работать пока открыт браузер (ну или как-то так, хз, уже не помню точно :) ), но в действительности в какой-то момент, пока ничего не делаешь на сайте, а потом к нему обращаешься, эта самая сессия уже сбросилась.
Наглядный пример это авторизация пользователя. Типа когда авторизация прошла успешно, создаем, например, переменную $_SESSION['login'] = 1; и перед показом страницы проверяем сессию, если есть то показываем.
Так вот когда браузер не активен мин 10 +-, то при попытке продолжить работу сессии уже нет.
Вопрос: куда она девается, какого *** она туда девается и через какое время.
А так же как можно справиться с данной проблемой или какие алтернативы (помимо куков) есть.
Просто щас начинаю програмку для компании делать для менеджеров, нужно чтобы пока браузер открыт и все переменные были активны, хотя там скорее всего только id юзера и будет.
|
|
|
|
|
Записан
|
from TRIAL with LOVE
|
|
|
|
sap ↓
|
 |
|
06 Февраль, 2008, 02:09:30 , спустя 4 минуты 38 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Жмурики Карма: 40
Сообщений: 2697 Сила слова: 1.48
|
Время жизни сессии - это время неактивности сессии, по истечении которого сессия может быть удалена сборщиком мусора и пользователь, зайдя на сайт еще раз, получит новый идентификатор сессии и, соответственно, новую сессию. Задается время жизни в php.ini (session.lifetime). При использовании собственных обработчиков этот параметр php.ini можно игнорировать и использовать свое значение времени жизни.
|
|
|
|
|
Записан
|
|
|
|
|
Timur ↓
|
 |
|
06 Февраль, 2008, 02:12:02 , спустя 2 минуты 32 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
NullPointerException
Группа: в ухо Карма: 56
Сообщений: 1009 Сила слова: 5.55
|
ini_set('session.gc_maxlifetime', [столько_сколько_нужно ]);
по-умолчанию 1440 секнуд (24 минуты)
|
|
|
|
|
Записан
|
|
|
|
|
TRIAL ↓
|
 |
|
06 Февраль, 2008, 02:15:23 , спустя 3 минуты 21 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 7
Сообщений: 907 Сила слова: 0.77
|
Во спасибо большое. Что-то я такого не знал. Теперь везде укажу сколько нужно.
Кстати глупый вопрос. Если я укажу время действия 24 часа, то при закрытии браузера сессия тоже исчезнет или так и будет висеть отведенный ей срок?
|
|
|
|
|
Записан
|
from TRIAL with LOVE
|
|
|
|
sap ↓
|
 |
|
06 Февраль, 2008, 02:19:22 , спустя 3 минуты 59 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Жмурики Карма: 40
Сообщений: 2697 Сила слова: 1.48
|
Должна исчезнуть. Но в опере, например, можно продолжить потом работу с прошлой сессией.
|
|
|
|
|
Записан
|
|
|
|
|
AlexB ↓
|
 |
|
06 Февраль, 2008, 02:22:23 , спустя 3 минуты 1 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 89
Сообщений: 3425 Сила слова: 2.6
|
Сессия конечно никуда не исчезнет и будет хранится сколько указано.
Но браузер при стандартных настройках потеряет идентификатор сессии, ибо сессионной куке обычно ставят время жизни 0 т.е. сессию придется заводить заново или передавать идентификатор сессии в урле.
|
|
|
|
|
Записан
|
|
|
|
|
TRIAL ↓
|
 |
|
06 Февраль, 2008, 02:26:09 , спустя 3 минуты 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 7
Сообщений: 907 Сила слова: 0.77
|
Тогда как лучше поступить в моем случае?
Нужно чтобы сессия убивалась при закрытии браузера. Но и могла висеть если пользователе не активен и по 2-3 часа.
|
|
|
|
|
Записан
|
from TRIAL with LOVE
|
|
|
|
AlexB ↓
|
 |
|
06 Февраль, 2008, 02:28:56 , спустя 2 минуты 47 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 89
Сообщений: 3425 Сила слова: 2.6
|
Timur уже ответил на этот вопрос.
Только надо понимать, что при закрытии браузера убить сессию невозможно ибо сессия хранится на сервере и про твой браузер ничего не знает. Но поведение будет именно такое, как тебе нужно.
|
|
|
|
|
Записан
|
|
|
|
|
TRIAL ↓
|
 |
|
06 Февраль, 2008, 02:30:30 , спустя 1 минуту 34 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 7
Сообщений: 907 Сила слова: 0.77
|
Ясно, спасибо. Будем пробывать :)
|
|
|
|
|
Записан
|
from TRIAL with LOVE
|
|
|
|
Timur ↓
|
 |
|
06 Февраль, 2008, 02:50:36 , спустя 20 минут 6 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
NullPointerException
Группа: в ухо Карма: 56
Сообщений: 1009 Сила слова: 5.55
|
TRIAL, проще всего в твоем случае воспользоваться куками :)
|
|
|
|
|
Записан
|
|
|
|
|
disc ↓
|
 |
|
06 Февраль, 2008, 07:23:08 , спустя 4 часа 32 минуты 32 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 37
Сообщений: 844 Сила слова: 4.38
|
сессии + куки это надо использовать тебе TRIAL
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
06 Февраль, 2008, 07:33:17 , спустя 10 минут 9 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17629 Сила слова: 1.67
|
сессии + куки это надо использовать тебе TRIAL
механизм сессий и так использует куки
|
|
|
|
|
Записан
|
|
|
|
|
disc ↓
|
 |
|
06 Февраль, 2008, 07:50:02 , спустя 16 минут 45 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 37
Сообщений: 844 Сила слова: 4.38
|
Я имел ввиду то что при авторизации проверять куки и стартовать сессии заново, такоим образом будет создан механизм автовхода на сайт.
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
06 Февраль, 2008, 08:11:54 , спустя 21 минуту 52 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: в ухо Карма: не нужна
Сообщений: 17629 Сила слова: 1.67
|
Я имел ввиду то что при авторизации проверять куки и стартовать сессии заново, такоим образом будет создан механизм автовхода на сайт.
а что мешает увеличить лайф-тайм сессий?
|
|
|
|
|
Записан
|
|
|
|
|
disc ↓
|
 |
|
06 Февраль, 2008, 08:18:55 , спустя 7 минут 1 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: в ухо Карма: 37
Сообщений: 844 Сила слова: 4.38
|
Все от задачи поставленной зависит, мы просто отошли от темы, но ничего как ты верно заметил не мешает.
|
|
|
|
|
Записан
|
|
|
|
|