Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MySQL] Zapisywanie w bazie czasu wylogowania
Forum PHP.pl > Forum > Przedszkole
lutador
Witam,

robie tablice czasow zalogowac i wylogowan uzytkownikow z serwisu. Logowanie jest oparte o sesje. Jezeli uzytkownik wyloguje sie poprzez klikniecie na przycisk wyloguj wtedy nie ma problemu i zapisuje mi sie czas wylogowania w bazie ale problem jest gdy uzytkownik zamknie przegladarke przez X Jak wtedy zapisac czas wylogowania? wiem ze bedzie to czas przyblizony.. tzn czas klikniecia na X + dlugosc sesji Jak porawdzic sobie z tym problemem?
erix
Hmm, nie zawsze skuteczne (brak/wyłączony JS), ale może w ten sposób: skrypt oparty o AJAX, który wykonuje się co np. 5 minut (wtedy rozdzielczość wynosi 5 minut). Jeśli przestanie się wykonywać, to będziesz miał wpisany czas logowania. ;]
nevt
można bez użycia Ajaxa... zakładając, że cały serwis jest "składany" w jakimś skrypcie głównym, np. index.php, wystarczy, że na początku tego skryptu dopiszesz kilka linijek kodu które po kolei:

1. sprawdzą (na podstawie sesji), czy user jest zalogowany
2. jesli tak, to zapis do bazy => czas wylogowania = czas bieżący + czas życia sesji.

w dalszej częsci kodu, jeśli użytkownik kliknie na "wyloguj",
to zapisujesz do bazy => czas wylogowania = czas bieżący

powinno działać z wystarczającym przybliżeniem, można okreslić to jako czas ostatniej aktywności użytkownika... powodzenia.
erix
Ale jeśli user czyta jakiś tekst dość długo, to wtedy spada dokładność.

IMHO, najlepiej obie techniki połączyć. :]
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.