webspy
8.05.2008, 19:57:26
Witam ponownie, mam teraz taki mały dylemat, jak można sprawdzić czy użytkownik jest zalogowany i nie chodzi mi o jakis skrypt typu, zaloguj to 1 a wyloguj to 0 bo tak juz mam, ale jak uzytkownik nie kliknie na "wyloguj" to praktycznie jest caly czas zalogowany patrzac od strony skryptu.
A chciałbym coś takiego żeby sprawdzało przez serwer jakos czy uzytkownik jest zalogowany, czy IP jest aktywne albo cos takiego.
Jest taka możliwość?
xbigos
8.05.2008, 20:02:31
Cytat
A chciałbym coś takiego żeby sprawdzało przez serwer jakos czy uzytkownik jest zalogowany, czy IP jest aktywne albo cos takiego.
Mozesz wyjaśnic?
nie za bardzo wiem o co Ci chodzi
Hazel
8.05.2008, 20:04:28
Nie ma takiej możliwości.
Serwer nie może wysyłać do przeglądarki żadnych sygnałów, musi być odwrotnie.
Możesz po każdej akcji dowolnego użytkownika sprawdzać, czy dalej jest zalogowany, czy na przykład minął określony czas (typu 15 minut)
i czy nie należy go przypadkiem automatycznie wylogować i zmienić wartość w bazie na 0.
Zauważ, że przy takim rozwiązaniu użytkownik pozostaje zalogowany, dopóki dowolny inny swoją akcją nie sprawdzi, czy jest aktywny - no a jeśli jest aktywny, to go wylogowuje. Czyli nie ma możliwości, żeby inny użytkownik widział nieprawidłowe dane - bo jeśli minęło to 15 minut od ostatniej aktywności kogoś, to dowolna czynność innego usera wyloguje tamtego nieaktywnego i wszyscy widzą, że jest nieaktywny.
Nie wiem, czy dokładnie o to Ci chodziło.
Jeśli chcesz sprawdzać z poziomu bazy, czy użytkownik jest aktywny, czy nie, to w ten sposób tego nie zrobisz - pole 0 lub 1 nie wystarczy, ale możesz przechowywać czas ostatniego zachowania użytkownika w formacie TIMESTAMP i porównywać z bieżącym - i widzisz ile czasu temu zrobił on cokolwiek na stronie.
webspy
8.05.2008, 20:10:24
NO właśnie teraz tak mam że sprawdza godzinę ostatniego aktywnego uzytkowania tej strony przez uzytkownika, i jesli minie 15 min to go automatycznie wylogowuje no i nawet mi to dziala, ale jesli sie wylaczy bez wylogowywania komputer to musi minac te 15 min zeby skrypcik mi pokazal ze jest juz offline, i wlasnie chcialem to zrobic troszke inaczej zeby od razu bylo wiadomo czy jest czy go nie ma online, No ale jednak muszę się zadowolić tymi 15 minutami. Dziękuję za pomoc.
Hazel
8.05.2008, 20:12:09
Możesz przecież uznać, że 15 minut to za długo, i ustawić ten czas na jedną minutę - nie da się z poziomu php sprawdzać, czy użytkownik ma otwartą przeglądarkę czy zamkniętą
webspy
8.05.2008, 20:15:25
ale jak mam minute to troszke za malo, bojak uzytkownik sobie zacznie pisac jakis formularz na mojej stronie i bedzie troszke myslal to co 1 min bedzie musial sie logowac ponownie.
Chyba jednak zostanę przy tych 15 min.

Ale jeśli macie jakiś pomysł jak to rozwiązać to bardzo chętnie poczytam

Pozdrawiam.
a nie mozna sie poprostu posłużyc sesjami?
webspy
8.05.2008, 20:19:28
ale w jaki sposób sesjami??
To moje początki w php więc dlatego tu jestem więc proszę o wyrozumiałość.
piotrooo89
8.05.2008, 21:02:46
możesz sie też posłużyć gotowymi skryptami do rejestracji/logowania wiec nie powinno być problemów. jak pyro napisał poczytaj o sesjach i wszystko.