Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie czasu trwania sesji.
Forum PHP.pl > Forum > PHP
quality
Witam.
Tworze strone w ktorej kazdy uzytkownik ma dostep do strony przez okreslony czas.
Jak zmierzyc ile czasu uzytkownik byl zalogowany ?

Jesli wcisnie wyloguj to moge sprawdzic ile czasu uplynelo od logowania, a co zrobic jesli sesja wygasnie samoistnie albo uzytkownik zamknie strone krzyzykiem ?
Kshyhoo
Dodajesz zmienną sesyjną w miejscu logowania:
  1. <?
  2. $_SESSION["czas"] = time();
  3. ?>

Na każdej podstronie ustawiasz czas sesji:
  1. <?
  2. if ($_SESSION["czas"] and $_SESSION["czas"]+60*10<time()) { // 10 minut
  3.  echo "Wylogowanie";
  4. }
  5. ?>

Albo sprawdzasz czas bezczynności:
  1. <?
  2. if ($_SESSION["czas"] and $_SESSION["czas"]+60*10<time()) { // 10 minut
  3.  echo "Wylogowanie";
  4. }
  5. $_SESSION["czas"] = time();
  6. ?>
wookieb
Ta metoda raczej nie jest za dobra.
Jak utworzysz sobie session_handlera który będzie obsługiwał sesje ( najlepiej na bazie) to w metodzie która będzie odpowiadac za usunięcie przestarzałych sesji sprawdzasz które sesje są do usunięcia oraz czy dana jest ona od uzytkownika zalogowanego.
Jezeli tak to liczysz mu czas przebywania na stronie.
Lepiej zrobic to w cronie (co minute). bo czasem moze tak być ze nie masz ruchu na stronie i wtedy bedzie zle liczyc czas.

Poradnik jak zrobic session_handlera znajdziesz na php.pl
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.