byczek1984
19.08.2009, 08:49:08
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
19.08.2009, 08:56:51
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
19.08.2009, 09:04:35
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
19.08.2009, 10:22:04
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
19.08.2009, 10:48:28
hmm
a moglbys przedstawic przyklad, ktory rozwiąże ten problem?
kfc4
19.08.2009, 10:55:50
Oczekujesz kodu? Przykładu live? Czy szerszego opisu?
byczek1984
19.08.2009, 11:06:15
Jak jest mozliwosc to moze byc kod ale rowniez bedzie dobrze szerszy opis jak zrobic:)
erix
19.08.2009, 11:13:25
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.