Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Sprawdzanie sesji
Forum PHP.pl > Forum > Przedszkole
Fred1485
Witam mam w planach ogarnąć sobie prosty panel na forum coś w stylu użytkownicy online, gdzie w grę wchodzą zarejestrowani oraz goście. No pewnie trzeba to będzie oprzeć na sesjach. Po wejściu na stronę gereruję jakiś randomowy ciąg - id sesji. Miałbym tabelę sesje w bazie danych gdzie trzymałbym:

id_sesji | id_użytkownika | czas_na forum ...

jeśli user nie byłby zalogowany (gość) to w id_uzytkownika trzymałbym 0.
I teraz budowa oparta o takie coś nie byłaby w PHP wyzwaniem, ale te sesje z bazy trzeba usuwać jeśli ktoś z forum wyjdzie. Jeśli ktoś kilknie wyloguj no to problem z głowy ale jak ktoś chamsko wyłączy przeglądarkę, a co bardziej jeśli to będzie gość to w jaki sposób takie coś wyprostować?
kapslokk
Po wejściu zapisuj czas, i licz np, że użytkownik, który jest online to taki, który w ciągu ostatnich 3-5 minut był na stronie. Zapisuj czasy przy każdym odświeżeniu strony i gotowe. Co do usuwania, to możesz to robić np cronem, raz na dzień.
Fred1485
No mi tylko o to usuwanie chodzi. Bez crona sie nie obejdzie?
kapslokk
No raczej ciężko. PHP działa tylko w momencie, kiedy przeglądarka wysyła żądanie, także tylko wtedy możesz coś nim zrobić. Mógłbyś usuwać te wpisy przy każdym wejściu na stronę, ale to spowoduje zwolnienie działania wszystkiego i jest bez sensu. Cron chyba będzie najlepszy smile.gif
Fred1485
Tak przeglądam tabelę od MyBB, PHPBB i PHP by przemo i tam jest podobnie jak ja zamierzałem tylko że te usuwanie wspisów nie jest z cronem związane. Ładnie wszystko w czasie rzeczywistym działa.

Oczywiście jeszcze zwracam uwagę na to, że pewnie crona nie dostanę na darmowym serwerze biggrin.gif Odpada

dobra powiedzmy że sobie poradziłem.
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.