w coyocie jest tabela session przechowująca aktualnych użytkowników. coś podobnego chciałbym zrobić u siebie. Tylko jak stwierdziś, że user sobie poszedł w długą?? Wiem, że jest taka funkcja, tylko nie pamiętam jej nazwy... może są inne sposoby?
jeśli po kilkunastu minutach nie wejdzie na jakąś stronę, to znaczy że poszedł precz (albo się zastanawia nad postem ;-)).
Hmm... Z tego co wiem, jest to niemożliwe. Jedyne, co możesz zdziałać, to sobie ustawić jakiś limit czasu, po którym uznajesz, że nie ma go na stronie, jeśli żadnego zapytania nie wysłał. A jest to niemożliwe, gdyż przeglądarka nie ma powodu, by wciąż coś do serwera wysyłać, a serwer często nie ma fizycznie możliwości wysłać żadnego zapytania do klienta. Jedynie jeszcze możesz na stronce dać jakiś skrypcik JS, który w momencie, kiedy ktoś ma otwartą stronę i czyta/myśli/pisze i nic nie wysyła, wysyłałby co czas określony jakieś info do serwera. Ale domyślam się, że to wkurzałoby użytkowników, bo opóźnia sieć, wysyła jakieś dziwne zapytania, a praktycznie nie jest potrzebne. Na forum phpBB masz otwarcie napisane, że "użytkownicy obecni na forum", to użytkownicy, którzy wysłali jakieś zapytanie w przeciągu ostatnich (domyślnie) 5 minut.
Masz plik:
login;czas ostatniej aktywnosci
Jesli chcesz wiedziec, czy user jest, to pewnie to pokazujesz ;]
W skrypcie, gdzie to pokazujesz, daj
Jechanie po pliku w poszukiwaniu np. loginu
Jesli user znajdzie swoj login, to zamienia czas ostatniej aktywnosci na aktualny czas
Jesli nie to dopisuje
Kazda linie z pliku sprawdza, czy czas < aktualnego-3min np.
Jesli jest mniejsze, to usuwa wpis z pliku, jesli nie- to nie.
(Rownie dobrze mozna takie cos robnic na kazdym pliku/przy kazdym zapytaniu, gdzie chcesz)