Форум → Программирование → PHP для идиотов → $_SESSION - время действия
$_SESSION - время действия
Страницы: ← Следующая страница →
-
Думаю, все сталкивались с такой же проблемой, с которой столкнулся я.
В документации указано, что $_SESSION будет работать пока открыт браузер (ну или как-то так, хз, уже не помню точно :) ), но в действительности в какой-то момент, пока ничего не делаешь на сайте, а потом к нему обращаешься, эта самая сессия уже сбросилась.
Наглядный пример это авторизация пользователя. Типа когда авторизация прошла успешно, создаем, например, переменную $_SESSION['login'] = 1; и перед показом страницы проверяем сессию, если есть то показываем.
Так вот когда браузер не активен мин 10 +-, то при попытке продолжить работу сессии уже нет.
Вопрос: куда она девается, какого *** она туда девается и через какое время.
А так же как можно справиться с данной проблемой или какие алтернативы (помимо куков) есть.
Просто щас начинаю програмку для компании делать для менеджеров, нужно чтобы пока браузер открыт и все переменные были активны, хотя там скорее всего только id юзера и будет.from TRIAL with LOVE -
6 февраля 2008 г. 14:09, спустя 4 минуты 38 секунд
Время жизни сессии - это время неактивности сессии, по истечении которого сессия может быть удалена сборщиком мусора и пользователь, зайдя на сайт еще раз, получит новый идентификатор сессии и, соответственно, новую сессию. Задается время жизни в php.ini (session.lifetime). При использовании собственных обработчиков этот параметр php.ini можно игнорировать и использовать свое значение времени жизни.
-
6 февраля 2008 г. 14:12, спустя 2 минуты 32 секунды
ini_set('session.gc_maxlifetime', [столько_сколько_нужно]);
по-умолчанию 1440 секнуд (24 минуты) -
6 февраля 2008 г. 14:15, спустя 3 минуты 21 секунду
Во спасибо большое. Что-то я такого не знал. Теперь везде укажу сколько нужно.
Кстати глупый вопрос. Если я укажу время действия 24 часа, то при закрытии браузера сессия тоже исчезнет или так и будет висеть отведенный ей срок?from TRIAL with LOVE -
6 февраля 2008 г. 14:19, спустя 3 минуты 59 секунд
Должна исчезнуть. Но в опере, например, можно продолжить потом работу с прошлой сессией. -
6 февраля 2008 г. 14:22, спустя 3 минуты 1 секунду
Сессия конечно никуда не исчезнет и будет хранится сколько указано.
Но браузер при стандартных настройках потеряет идентификатор сессии, ибо сессионной куке обычно ставят время жизни 0 т.е. сессию придется заводить заново или передавать идентификатор сессии в урле. -
6 февраля 2008 г. 14:26, спустя 3 минуты 46 секунд
Тогда как лучше поступить в моем случае?
Нужно чтобы сессия убивалась при закрытии браузера. Но и могла висеть если пользователе не активен и по 2-3 часа.from TRIAL with LOVE -
6 февраля 2008 г. 14:28, спустя 2 минуты 47 секунд
Timur уже ответил на этот вопрос.
Только надо понимать, что при закрытии браузера убить сессию невозможно ибо сессия хранится на сервере и про твой браузер ничего не знает. Но поведение будет именно такое, как тебе нужно. -
6 февраля 2008 г. 14:30, спустя 1 минуту 34 секунды
Ясно, спасибо. Будем пробывать :)from TRIAL with LOVE -
6 февраля 2008 г. 14:50, спустя 20 минут 6 секунд
TRIAL, проще всего в твоем случае воспользоваться куками :) -
6 февраля 2008 г. 19:23, спустя 4 часа 32 минуты 32 секунды
сессии + куки это надо использовать тебе TRIAL -
6 февраля 2008 г. 19:33, спустя 10 минут 9 секунд
сессии + куки это надо использовать тебе TRIAL
механизм сессий и так использует кукиhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
6 февраля 2008 г. 19:50, спустя 16 минут 45 секунд
Я имел ввиду то что при авторизации проверять куки и стартовать сессии заново, такоим образом будет создан механизм автовхода на сайт. -
6 февраля 2008 г. 20:11, спустя 21 минуту 52 секунды
Я имел ввиду то что при авторизации проверять куки и стартовать сессии заново, такоим образом будет создан механизм автовхода на сайт.
а что мешает увеличить лайф-тайм сессий?https://smappi.org/ - платформа по созданию API на все случаи жизни -
6 февраля 2008 г. 20:18, спустя 7 минут 1 секунду
Все от задачи поставленной зависит, мы просто отошли от темы, но ничего как ты верно заметил не мешает.
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!