![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 0 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam takie pytanie bardziej teoretyczne.
Próbuje stworzyć skrypt który najpierw sprawdza czy energii jest mniej niż maksimum i potem dodaje co 5 minut aż do osiągnięcia maksimum. Chcę zrobić to tak żeby działało zarówno gdy użytkownik jest zalogowany(odlicza czas w js) oraz gdy jest wylogowany. Jak mogę takie coś osiągnąć? Zrobiłem wersje js:
Ale działa jedynie gdy użytkownik jest zalogowany. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 144 Dołączył: 22.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zapisujesz stan kiedy ostatnio dodawałeś energię, np cykl o 13:30, użytkownik ostatnio aktywny był o 13.31 po loguje się chwilę po 14:00, po zalogowaniu/odświeżeniu strony obliczasz różnicę, która wynosi w tym przypadku 29 minut, dzielisz to na 5 (jako że co 5 minut) i masz 5 cykli pominiętych. Zapisujesz że stan został zaktualizowany w tym cyklu (cykl na godz. 14).
Taki zarys, ogólnie do dopracowania, ale mam nadzieję że naprowadziłem na koncepcję. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 0 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
A jak to polaczyc z js'em odliczajacym w czasie rzeczywistym?
Bo jesli uzytkownik zostawi strone w tle, to js bedzie odliczal i sam dodawal, a nie odswiezajac ne dostaniemy nowego "ostatniego zalogowania" i po odswiezeniu dostaniemy energie zarówno ze skryptu js jak i z php. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
w JS wyświetlasz tylko licznik wirtualny. To po stronie serwera musisz wyliczać aktualną wartość.
Do JS przekazujesz aktualną wartość i rozpoczynasz liczenie i zmieniasz tylko html, przy każdej akcji wykonanej po stronie frontu i tak musisz przeliczać to po stronie PHP. Jeśli będziesz wysyłał Ajaxem to można sobie dowolnie zwiększać licznik i dowolnej osobie... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 0 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jak obliczyć różnicę pomiędzy czasem ostatniego logowania a aktualnym, jeśli czas ostatniego logowania aktualizuje przy odswiezeniu strony?
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
roznica = czas_aktualny - czas_ostatniego_logowania
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 0 Dołączył: 31.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
no tak, tylko ten czas_ostatniego_logowania aktualizje sie przy każdym odświezeniu strony, stąd czas_aktualny=czas_ostatniego_logowania
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Masz liczyc roznice miedzy czasem aktualnym a ostatnim zapisem do bazy
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:31 |