Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Długość sesji i niszczenie jej w przypadku przekroczenia czasu
Forum PHP.pl > Forum > Przedszkole
Majkelo23
W jaki sposób zdefiniować długość sesji? Chodzi mi o przypadek, że jeśli user jest zalogowany na stronie, ale nie przeładowywał strony od ponad X czasu (załóżmy 30 minut) to jego sesja zostaje zniszczona i jeśli znów odświeży stronę po upływie tego czasu to będzie już wylogowany? Obecnie używałem czegoś takiego:

  1. $session_time = 35; // in minutes
  2. session_set_cookie_params(($session_time*60));


ale wydaje mi się, że to działa w taki sposób, że niezależnie czy jestem aktywny cały czas (odświeżam stronę) czy też nie - zawsze po 30 minutach mnie wyloguje (sesja jest niszczona). Czy tak to działa?
Znalazłem w manualu coś takiego: session_cache_expire($nowy_czas), ale czy to jest na pewno to o co mi się rozchodzi?
Turson
Musiałbyś zapisywać ostatnią aktywnośc użytkownika, a potem przy przeładowaniu strony porównywać czas i ewentualnie wylogować
Majkelo23
Czytałem, że PHP samo wylogowuje po 24min nieaktywności, ale czy to jest prawda?
Turson
To nie jest prawda.
jackraymund
Cytat(Majkelo23 @ 26.11.2013, 22:44:14 ) *
Czytałem, że PHP samo wylogowuje po 24min nieaktywności, ale czy to jest prawda?

Tak jest domyślnie jest ustawione.
Dokładniej session.gc_maxlifetime. php_ini
Najlepiej przestaw to w samym php.ini, nie wywołując komende.(wywołasz skrypt bez tej lini i może być psikus)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.