![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 14.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cześć!
Mam system logowania oparty na sesjach. Chciałbym aby w profilu użytkowników było pokazane czy dany user jest zalogowany, czy też nie. Jak sprawdzić czy dany user jest aktualnie online? Zapisywać dane o dostępności w bazie danych (przy logowaniu i wylogowywaniu)? Ale co wtedy jak user nie wyloguje się, tylko zamknie przeglądarkę? Bardzo proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 11 Dołączył: 1.08.2007 Skąd: Poland,Warsaw Ostrzeżenie: (0%) ![]() ![]() |
Możesz tak zrobić a w przypadku, gdy user zamyka przeglądarkę a nie się wyglogowuje możesz posłużyć się JavaScript'em, jeśli dobrze pamiętam jest tam event związany z zamykaniem okna.
-------------------- Odpowiedź na wszystko : manual,appendix. Ulubiona książka : PHP 5 for Dummies.
Studia uh ? ;-). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 14.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
A nie da się jakoś inaczej?
Czasami ktoś może mieć wyłączone javascript. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 31.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak narazie nie widziałem innego rozwiązania
![]() Możesz ustawić czas "życia" sesji, a po jej "śmierci" system usuwa wpis o użytkowniku ( już sobie poszedł ). Jednak jest to rozwiązanie z opóźnionym zapłonem - user wyjdzie teraz a sesja sobie żyje, zamordują ją za 10 minut. Takie rozwiązanie jest (chyba) w Mambo cms, więc to chyba nie najgorszy pomysł. *chyba - bo wiem, że działa z opóźnieniem i zapisuje sesje w bazie danych. Ten post edytował pojas 2.08.2007, 16:37:52 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 11 Dołączył: 1.08.2007 Skąd: Poland,Warsaw Ostrzeżenie: (0%) ![]() ![]() |
pojas jest tylko jeden mały mankament tego co powiedziałeś, nawet jeśli sesja umrze to nie wykreśli użytkownika z katalogu osób online. Też mnie zawsze zastanawiało jak to rozwiązać, wydaje mi się,że to trzeba jednak robić na socketach.
-------------------- Odpowiedź na wszystko : manual,appendix. Ulubiona książka : PHP 5 for Dummies.
Studia uh ? ;-). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 31.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możliwe, że masz rację. Trudne zagadnienie
![]() Co w przypadku gdy w bazie też zapisze czas "śmierci"? Skrypt sprawdzałby w "zyjących" sesjach ( wpisach w bazie ) czy czasem jakaś nie chce "umrzeć". Wykonywane przy każdym wyświetleniu - baza byłaby opóźniona, ale kto ogląda bazę. Strona byłaby aktualna. Jednak dużo pracy by miał serwer - za każdym klikiem ( żądaniem strony ) sprawdzać ( i w razie czego - edytować ) wszytkie sesje... edit: Dodatkowo każdy sygnał życia użyszkodnika przedłuża życie sesji ( kolejne zadanie dla MySQL ). Ten post edytował pojas 2.08.2007, 17:51:19 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 235 Pomógł: 17 Dołączył: 18.07.2007 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 20:27 |