Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wylogowywanie i koniec sesji
Forum PHP.pl > Forum > Przedszkole
novy85
witam!!

Jak zrobić aby w przypadku gdy użytkownik zamknie przeglądarke lub upłynie określony czas nastąpiło automatyczne wylogowanie z serwisu?

Szukałem na forum w google ale nic konkretnego nie znalazłem, wiem tylko tyle, że trzeba do tego sesji i cookies
Daimos
musisz zapisywac czas w ktorym uzytkownik byl ostatnio aktywny i za kazdym razem sprawdzasz, jezeli np. time() ostatniej aktywnosci bylo godzine temu, to wylogowac
novy85
a jak sprawdzić jego aktywność, jakiś pomysł? bo ja nie mam
no_face
Mowisz o wylogowaniu, wiec sledzic danego usera nie bedzie problemu, gdyz musi sie uprzednio zalogowac, a jesli to zrobi masz komplet informacji o nim. Kazde odswierzenie strony to sprawdzenie jaki user zaglada na nia, w tym czasie sprawdzasz czas ostatniej aktywnosci, jezeli byla ona mniejsza niz np 15 min to update czas wizyty danego usera, jezeli wieksza to wylogowanie.
novy85
ale konkretnie jak to zrobić. z kąd taką informacje pobrać z sesji? a jak tak to w jaki sposób
acztery
jak logowanie masz na sesjach to po zamkniecu okna przegląradki sesja wygasa = wyloguje

jezeli nie to zapisuj do bazy ip i time() porównuj i postępuj jak pisał kolega wyżej
no_face
W czasie gdy posiadasz na swojej stronie system logowania, to posiadasz jakas baze danych, w ktorej przechowujesz dane, czyli login, haslo i inne rzeczy zwiazane z uprawnieniami i danymi usera. Mozesz rowniez stworzyc pole przechowujace czas ostatniej wizyty.

Teraz tak. Logujesz sie, pole w bazie "czas ostatniej wizyty" jest uaktualnione i rowna sie aktualnemu czasu servera. W czasie poruszania sie po roznych stronach, kazda ze stron posiada fragment kodu odpowiadajacy za sprawdzenie autentycznosci usera (czy jest zalogowany), jesli tak sprawdzasz aktualny czas z czasem z bazy danych z pola "czas ostatniej wizyty", jezeli roznica wynosi wiecej niz np 15 to automatyczne wylogowanie, jezeli jest mniejsza to przed wyswietleniem zawartosci strony uaktualniasz pole "czas ostatniej wizyty" w bazie aktualnym czasem z servera.

Jasniej chyba sie juz nie da winksmiley.jpg
novy85
zrobiłem jak radziłeś i teraz czekam te 15 min
zobaczymy czy dobrze to zrobiłem
no_face
lol w celach testowych mogles ustawic troche krotszy czas smile.gif

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