![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| namra |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 26.4.2007 Репутация: нет Всего: нет |
как увеличить время определеной только одной сессионой переменной ?
|
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Что значит "сессионной переменной"? И что значит ее время?
Переменные из сессии живут столько, сколько живет сессия. Они к ней привязаны. По умолчанию они сохранены в файле с id сессии. Нет файла - нет переменных. Это сообщение отредактировал(а) Arantir - 21.7.2013, 00:23 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| namra |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 26.4.2007 Репутация: нет Всего: нет |
как увеличить время определеной сессии допустим $_SESSION['name'], а не остальных, чтобы после закрытия браузера, это сессия сохранилась или как это реализовать возможно?
Это сообщение отредактировал(а) namra - 21.7.2013, 00:27 |
|||
|
||||
| Arantir |
|
||||||||||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
$_SESSION - это уже текущая сессия, а не массив всех сессий... На самом деле, у PHP нету внутренних средств для работы с чужими сессиями. Короче... Все сложно. Есть параметр в php.ini под названием session.gc_maxlifetime. Он отвечает за чистку старых сессий. Сколько поставишь - столько будут жить сессии в ожидании следующего визита пользователя. Так же можно установить жизнь куки (по умолчанию - это до окончания сессии, то есть до закрытия браузера, в большинстве случаев)
В частности, если вкрутить первый параметр на достаточно долго, то вторым способом можно вполне контролировать время жизни сессии индивидуально. Однако же, стоит заметить, что куку можно подделать, можно заставить ее не удаляться, да и вообще отправить сайту что угодно можно. Контролировать же время жизни сессии именно на сервере из-под PHP нельзя. В общем, для качественного контроля над сессиями придется переопределить метод их хранения. Это делается через session_set_save_handler. Например, если хранить их в базе данных, то можно без проблем делать с ними все, что угодно, средствами БД.
А может... просто сохраните это в куку?
Вообще, обычно, сессия открывается лишь на короткое время. Автоматическая авторизация как раз таки реализуется куками.
php-шные сессии тупо не предназначены и никогда не были предназначены для продолжительного хранения чего-либо. Это просто способ запомнить пару байт между запросами в непродолжительном сеансе пользователя, чтобы не идти за одними и теми же данными каждый раз в БД или т.п. Надолго сохранение данных производиться средствами вашего php-шного веб-приложения. С помощью базы данных, например. Это сообщение отредактировал(а) Arantir - 21.7.2013, 02:48 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||||||||||
|
|||||||||||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |