![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 0 Dołączył: 30.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Nie moge sobie poradzić z przechowywaniem czasu online ; /
W bazie mam takie rekordy jak czas_wejscia (np, 1385116379 ) i czas_online ( tutaj ma być przechowywany czas online ) I przy wyjściu chciałem odjąć aktualny czas od czasu wejścia i ten czas dodac do czasu online i później przerobić na : byłeś online 4 dni 5 godzin 20 min i 20 s . ale totalnie mi to nie wychodzi prosze o pomoc! ; / Ten post edytował piotrek442 22.11.2013, 11:58:23 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Skoror czas w bazie trzymasz w timestamp to nie:
$exit_time=time(); $entry_time = date("d.m.Y h:i:s",$entry_time); $exit_time = date("d.m.Y h:i:s",$exit_time); $aktonline = strtotime( $exit_time ) - strtotime( $entry_time ) ; a: $exit_time=time(); $aktonline = $exit_time -$entry_time ; |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
... byłem zalogowany trochę a do bazy wpisało "1" (IMG:style_emoticons/default/ohno-smiley.gif) Skoror czas w bazie trzymasz w timestamp to nie: ... @nospor chyba za długo w pracy ;]... ochłoń i luknij na temat z boku, bo jak Cię znam wiesz o co chodzi ^^... http jest bez stanowe... więc w tym samym żądaniu nie ma sensu nawet próbować zapisywać czas nie połączenia a czas otwartej strony ;p (no można i jak jest błąd połączenia od razu to jakby nie było połączenia ale to co wspomniałem nie ma sensu nawet zwracać uwagi bo musiałbym dogłębniej opisać)... połączenie http jest bezstanowe - tzn. symuluje się ciągłość połączenia na wiele sposobów, najprostszy i ogólnie stosowany to sesja... sposobem na rozwiązanie tego problemu to np. założyć minimalny czas na stronie i go updatować co jakiś czas w zapytaniu ajax + zdarzenie onuload... inny sposób to skorzystanie z "wiszącego połączenia" gdzie nie zwracamy odpowiedzi, połączenie zostanie zerwane to ten ktoś zamknął połączenie (tu do poczytania hasła w stylu "ajax push", jsonp itd. bo to można zrobić np. na wczytującym się obrazku...), no i akurat przy tym drugim tricku idąc dalej początek i koniec połączenia można by wykonać w jednym skrypcie ale opisywanie to ociera się o daemon wywoływany online więc to też nie ma sensu... najprostsze rozwiązanie jak wspomniałem zapisać start i updatować czas opuszczenie na zasadzie powtarzającego się zapytania ajax lub na zasadzie ajax push... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 12:44 |