Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] jak sprawdzić czy dany użytkownik jest zalogowany?
Forum PHP.pl > Forum > Przedszkole
webspy
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ść?questionmark.gif
xbigos
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
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
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
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ą winksmiley.jpg
webspy
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. tongue.gif Ale jeśli macie jakiś pomysł jak to rozwiązać to bardzo chętnie poczytam smile.gif
Pozdrawiam.
pyro
a nie mozna sie poprostu posłużyc sesjami?
webspy
ale w jaki sposób sesjami??

To moje początki w php więc dlatego tu jestem więc proszę o wyrozumiałość.
piotrooo89
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.
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.