Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z WYLOGOWANIEM UZYTKOWNIKA
Forum PHP.pl > Forum > PHP
byczek1984
Witam
Mam pytanie....Na stronce ma funkcje wyloguj , ktora po nacisnieciu na nia w bazie uzytkownik dostaje '0' , czyli ze opuscil stronke prawidlowo. Natomiast co zrobic jak uzykownik nie nacisnie przycisk WYLOGUJ i wyjdzie ze stronki przez nacisniecie w prawym gornym rogu "krzyzyk". W bazie danych pozostanie caly czas wiadomosc ze uzykownik jest zalogowany, ale w rzeczywistosci opuscil juz nasza stronke? Co mozna zrobic zeby to dzialalo prawidlowo?... Probowalem tak

Kod
  if(!isset($_SESSION['id']))
     {
         // i kod taki sam jak w przycisku WYLOGUJ - ale nie dziala:(
    }

Prosze o wskazowki, dzieki
kfc4
Hmm, jeżeli użytkownik jest nieaktywny przez powiedzmy dwie godziny można go uznać za wylogowanego. Jeżeli nastąpi jakaś jakaś reakcje z jego strony to go wtedy wylogujesz prawidłowo i poprosisz o zalogowanie. Bo chyba nie będzie jakiejś wielkiej krzywdy jak będzie widniał w bazie jako zalogowany?
byczek1984
hmmm tzn jak bedzie istnial w bazie ze jest zalogowany (ale faktycznie go nie ma) to mam skrypt ktory pokazuje zalogowane osoby na stronce i wtedy ten uzytkownik bedzie istnial jako zalogowany ale w rzeczywistosci go nie ma...( czy jest jakies rozwiazanie na ten problem?
krowal
Zamiast dodawać kolumnę o możliwych wartościach 0,1 dodaj raczej kolumnę typu datetime np o nazwie 'last_action'. Później przy każdym requescie ze strony użytkownika uaktualniaj tą kolumnę wstawiając aktualny czas. W ten sposób będziesz mógł sobie za pomocą predefiniowanego odstępu czasu wybierać z bazy użytkowników którzy byli aktywni np maksymalnie godzinę temu, czas który sobie wcześniej ustalisz może również określać termin ważności sesji.
byczek1984
hmm
a moglbys przedstawic przyklad, ktory rozwiąże ten problem?
kfc4
Oczekujesz kodu? Przykładu live? Czy szerszego opisu?
byczek1984
Jak jest mozliwosc to moze byc kod ale rowniez bedzie dobrze szerszy opis jak zrobic:)
erix
Było, było, było.

Ustawiasz sobie timeout dla sesji, ale to było - poszukaj na forum czegoś do liczby osób online, trzeba zrobić podobnie.
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.