Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zakończenie sesji, kiedy?
Forum PHP.pl > Forum > Przedszkole
zgred
Skąd pobrać informacje, że sesja została zakończona? Na przykład w celu zbadania ilości gości odwiedzających stronę, powinno się zwiększać gdzieś zapisaną zmienną $ilosc_aktualnie_odwiedzajacych, ale kiedy powinna być ona zmniejszona? Albo jeżeli chce wyświetlić informację o użytkownikach obecnie przeglądających temat (w autorskim skrypcie forum), nie ma problemu przy przechodzeniu na kolejne podstrony, ale co jeśli ktoś po prostu wyjdzie z przeglądarki?
tiraeth
Nie ma innej możliwości niż pokazywanie użytkowników z ostatnich np. 5 minut... i nie można zrobić tego inaczej niż przy pomocy session_handler'a smile.gif
Guest
Cytat(tiraeth @ 2006-01-11 16:00:15)
Nie ma innej możliwości niż pokazywanie użytkowników z ostatnich np. 5 minut... i nie można zrobić tego inaczej niż przy pomocy session_handler'a :)

session_handler... A co to jest? Poza tym wydaje mi się, że na forach takich jak IPB udało się ich twórcom coś takiego stworzyć.
dtb
mozna uzyc mysql lub inne db.

najpierw edytujesz wpis (kolumna time-aktualny czas) gdzie sesja = id sesji usera. gdy nie ma w bazie wiersza gdzie sesja = id sesji usera to dodajesz go dodajesz a potem:
  1. <?php
  2. $q = mysql_query ('SELECT * FROM sesje WHERE '.(time()-5*60).' < time');
  3. $r = mysql_fetch_num ($q);
  4. printf ('Teraz jest %s osób online', $r);
  5. ?>
zgred
Jeśli dobrze zrozumiałem, skrypt będzie sprawdzał ilu użytkowników przez ostatnie pięć minut WESZŁO na stronę.
Ale co, jeśli akurat podstrona zawiera dłuższy tekst, na którego przyswojenie odwiedzający będzie potrzebował np.: więcej niż wyznaczony czas?
mike
Dokładnie, można pokazać ilu użytkowników jest/było aktywnych w jakimś przedziale czasu.
Tak zreszta jest na wposmnianym przez Ciebie IPB.
Ale przydałby się własny error handler.

A jeśli ktos czyta (pozostaje nieaktywny) dłużej niż określona jednostka czasu inni nie bedeą go widzieć jako aktywnego aż do wykonania kolejnej akcji przez tego usera (kliknięcie gdzieś)

Ale podpowiem Ci że jest to scenariusz przy, nazwijmy to, standardowych rozwiązaniach.
Możesz się uchronić przed tą niedokładnością, używając AJAX'a.
zgred
Cytat(mike_mech @ 2006-01-11 16:44:00)
Dokładnie, można pokazać ilu użytkowników jest/było aktywnych w jakimś przedziale czasu.
Tak zreszta jest na wposmnianym przez Ciebie IPB.

Tzn? Przecież jeśli będę godzinę siedział na jakimś temacie na forum opartym na IPB, ten nadal będzie mnie pokazywał.

A ten Ajax... Bardzo to zaawansowana sprawa? Czy w moim obecnym stopniu zaawansowania (podstawowa obsługa, ale wystarczająca do napisania np.: prostego forum) powinienem się za to zabierać?
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.