Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: вопрос ос сесии

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dadli
Отправлено: 07 Июня, 2011 - 11:54:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




привет пхписти, мне такои вопрос
я хачу што после session_start() ета сесся бил "живои" до закритя броузера,
я хочу вот етава:
если после авторизации, броузер открит на продалжении 10 минут, - сессии била "живои" тоже на продалжении 10 минут.
если после авторизации, броузер открит на продалжении 5 часов, - сессии била "живои" тоже на продалжении 5 часов.
если закрил ползовател броузер, сесся "умер".

как ето сделатъ? как я понимаю, нада просто не трогат (не реализоватъ) таймаут сесии и всо будет работатъ как я на верху писал. скажите пожалуиста ето так?
 
 Top
DlTA
Отправлено: 07 Июня, 2011 - 12:05:03
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




насколько я помню
сессия продолжает существовать еще минут 20-30 (в зависимости от настройки сервера)
после очередного запроса к серверу и не зависит от того открыт ваш браузер при этом или нет.
 
 Top
demot
Отправлено: 07 Июня, 2011 - 12:17:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 143
Дата рег-ции: Окт. 2010  


Помог: 3 раз(а)




по-умолчанию сессии хранятся в tmp 30 минут, для того чтобы продлить время жизни сессии необходимо сменить папку хранения и установить время вручную.
PHP:
скопировать код в буфер обмена
  1. ini_set('session.save_path', $_SERVER['DOCUMENT_ROOT'] .'../sessions/');
  2. ini_set('session.gc_maxlifetime', 86400);//через сутки данные будут считаться мусором и удаляться
  3. ini_set('session.cookie_lifetime', 0); //сессия живет пока не закроется браузер

(Отредактировано автором: 07 Июня, 2011 - 12:18:35)

 
 Top
dadli
Отправлено: 07 Июня, 2011 - 12:30:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




а можно как нибудъ сделат так, што не смотря сушествует или нет запрос (то ест какоита силка нажата да?), сесся бил "живои" до закритя браузера.
можно ета реализоватъ? (без исползовании куки).
 
 Top
DeepVarvar Супермодератор
Отправлено: 07 Июня, 2011 - 12:32:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




dadli это без куки - это только сессия
 
 Top
Давит
Отправлено: 07 Июня, 2011 - 13:05:52
Post Id



Частый гость


Покинул форум
Сообщений всего: 147
Дата рег-ции: Май 2011  


Помог: 2 раз(а)




можно так реализоватъ
время жизни сессии постав больше пример 2 час
добавляйте поля в таблице сессии datetime

на тех файлах где проверится присутствие сессии,
если есть сесия
добавь запрос чтобы обновила время в поле datetime на текущий время,
пример
PHP:
скопировать код в буфер обмена
  1. $query = "UPDATE session SET datetime = NOW() WHERE";
  2.  mysql_query($query);


потом удали те серии которые старше чем 45 мин последний активации.
пример
PHP:
скопировать код в буфер обмена
  1.  $query = "DELETE FROM session WHERE datetime < NOW() -  INTERVAL '45' MINUTE";
  2.   mysql_query($query);

(Отредактировано автором: 07 Июня, 2011 - 13:07:49)

 
 Top
dadli
Отправлено: 07 Июня, 2011 - 13:37:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




ок, всем спасибо балшои за ответах
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB