Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Automatycznie zakończyć sesję
Forum PHP.pl > Forum > PHP
JaRoPHP
Skrypt wylogowywuje użytkownika po 30 minutach. Niestety tylko wtedy, kiedy się on nie wylogował, lub nie zamknął przeglądarki.
Ale jak zamknie przeglądarkę, to niestety w bazie danych pozostaje znak, że jest aktualnie aktywny, więc ponownie nie może się zalogować.
Czy da się to jakoś zmienić (może MySQL nie jest potrzebny?questionmark.gif)
theoden
Zazwyczaj to jest tak że jak ktoś zamknie przeglądarke i a był zalogowany to jak wejdzie na stronę to w dosć którkim czasie to nadal bedzie.
Czyli jak dla mnie to powinieś co jakis czas uruchamiac funkcje zamykającą sesje time()- 15 minute itp.

Nie za bardzo wiem jakim cudem jak zamkniesz przegladarke i sesja jest otworzona to nie mozesz sie zalogować, jeżeli nie możesz no to powinienneś już byc zalogowany. Jeżeli tak nie jest to bład w logice aplikacji.
yavaho
W poscie JaRoPHP nie ma ani jednego slowa o sesjach. Podejrzewam ze nie korzystasz z sesji. A chyba w przypadku logowania bylo by to najlepsze rozwiazanie.
JaRoPHP
Racja nie sprecyzowałem. Otóż istnieje sesja, ale w trakcie logowania, do bazy danych zapisany jest znacznik (aby ktoś inny nie mógł sie zalogować na to samo konto, w tym samym czasie). Jak sesja jest zamykana, to znacznik jest zdejmowany. Natomiast jak ktoś zamknie przeglądarkę, to znacznik pozostaje...
ActivePlayer
To dodaj jedno pole w bazie o nazwi powiedy 'last_login'. przy kazdym logowaniu sprawdzasz czy pole "logged"(oznaczające ze user zekomo jest zalogowany) jest na 0 to nie zabraniasz sie odrazu zalogowac tylko sprawdzasz roznice czasów od ostatniego logowania... jak jest wikeszy od ilestam to pozwalasz sie zalogowac...
JaRoPHP
Wielkie dzięki.
Podobno najlepsze są najprostsze rozwiązania...
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.