Kerth
16.07.2013, 14:11:23
Cześć,
robię właśnie statusy graczy zalogowanych i nie zalogowanych. Tylko nie wiem czy wybrałem sobie bezpieczny sposób. Chodzi o to, żeby dane o tym czy gracz jest zalogowany czy nie były przechowywane w bazie. Konkretniej chodzi o to, że gdy gracz się loguje(w tym samym warunku) wykonuje się zapytanie dodające do kolumny `online_offline` w bazie napis 'Online' a gdy się wylogowywuje to ustawia na 'Offline'. Wtedy w statystykach pobieram z kolumny 'online_offline' status i sprawdzam czy jest gracz zalogowany czy nie. Jakby co to logowanie mam na sesjach.
Nie wiem czy to dobry pomysł. Może ktoś ocenić lub ewentualnie podać algorytm jak miało by coś takiego wyglądać, bo ja to tak widzę.
gothye
16.07.2013, 14:36:42
stwórz kolumnę w SQL np online INT(11) unsigned i zapisuj w niej czas , ptem tylko pobierasz status online/offline z bazy wraz z warunkiem na wyszukiwanie po kolumnie online
b4rt3kk
16.07.2013, 14:47:52
Nie każdy opuszczając stronę się wylogowuje, więc na podstawie Twojego skryptu będzie pozostawał wiecznie online. Możesz zapisywać w odpowiedniej kolumnie czas ostatniej akcji użytkownika (każde przeładowanie strony itp.). Przy sprawdzaniu ile osób jest online zliczasz liczbę rekordów, w których (obecny_czas - 10 min) < czas_ostataniej_akcji_uzytkownika. 10 min jest tu oczywiście tak przykładowo - jako ten czas możesz ustalić np. żywotność sesji, wtedy wiesz na pewno, że jeśli przez ten czas nie wykonał żadnej akcji to znaczy, że sesja wygasła, tak więc by być online musi zalogować się ponownie.
Kerth
16.07.2013, 14:50:54
Cytat
Nie każdy opuszczając stronę się wylogowuje, więc na podstawie Twojego skryptu będzie pozostawał wiecznie online.
Nie koniecznie, ponieważ to zapytanie wykonuje się w pliku logout.php czyli w momencie wylogowania się gracza. No chyba, że się mylę i to nie będzie działać.
buliq
16.07.2013, 14:55:49
Przeczytaj jeszcze raz
Kerth
16.07.2013, 15:15:53
A to może w takim razie coś jak jest np. na stronie plemiona.pl?
Tak w trakcie zalogowania jak ktoś wyłączy kartę lub przejdzie w niej na inną stronę to musi się od nowa logować. Wiecie może jak takie coś zrobić, żeby przerwać sesję jak gracz opuści stronę?
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.