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?)
theoden
11.11.2004, 20:00:20
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
11.11.2004, 20:56:47
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
13.11.2004, 21:37:10
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
13.11.2004, 23:42:12
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
14.11.2004, 23:05:13
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.