Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzanie czasu trwania sesji.
quality
post 23.03.2009, 15:27:53
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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 ?


--------------------
Go to the top of the page
+Quote Post
Kshyhoo
post 23.03.2009, 15:44:06
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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. ?>


--------------------
Go to the top of the page
+Quote Post
wookieb
post 23.03.2009, 15:49:38
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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

Ten post edytował wookieb 23.03.2009, 15:52:21


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 21:38