Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Czas
henio
post
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Stworzyłem skrypt, który po wywołaniu działa normalnie do czasu kiedy upływa pełna godzina. Np. zaloguje się o 15:48 a o 16:08 wyświetla mi się:
Jesteś zalogowany od -20 minut. Co oczywiście mnie dziwi.
  1. <?php
  2. function od_kiedy_onilne($jednostka_czasu, $j_cz_slownie)
  3. {
  4. $od_kiedy = explode(', ', @$_SESSION['online']);
  5. $od_kiedy1 = explode('-', $od_kiedy['0']);
  6. $od_kiedy2 = explode(':', $od_kiedy['1']);
  7. $data_od_kiedy = mktime(0, $od_kiedy2['1'], $od_kiedy2['0'], $od_kiedy1['1'], $od_kiedy1['0'], $od_kiedy1['2']);
  8. $ostatnio_online = date("Y-m-d, H:i");
  9. $online_teraz = explode(', ', $ostatnio_online);
  10. $online_teraz1 = explode('-', $online_teraz['0']);
  11. $online_teraz2 = explode(':', $online_teraz['1']);
  12. $data_online_teraz = mktime(0, $online_teraz2['1'], $online_teraz2['0'], $online_teraz1['1'], $online_teraz1['0'], $online_teraz1['2']);
  13. $roznica = $data_online_teraz - $data_od_kiedy;
  14. $roznica = floor($roznica / $jednostka_czasu);
  15. echo "Jesteś zalogowany od <b>".$roznica."</b> ".$j_cz_slownie.".";
  16. }
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


zrob sobie wyswietlanie zmiennych
$data_online_teraz, $data_od_kiedy, $roznica
i zobacz co wyswietlaja.
zastanow sie, przypomnij sobie lekcje matematyki i problem rozwiaze sie sam:)
Go to the top of the page
+Quote Post
henio
post
Post #3





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Zrobilem tak jak mówiles:

$data_online_teraz wyswietla np: 1716934458
$data_od_kiedy wyswietla np: 1716936977
I po odjęciu pierwszej od drugiej wychodzi, że:
$roznica wyswietla np: -2519

Więc jasne jest, że wyświetli liczbę ujemną. Co więcej kiedy poczekałem kilka minut zauważyłem, że różnica się zamiast oddalać się od zera przybliża się do niego.
Go to the top of the page
+Quote Post
AxZx
post
Post #4





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


$data_online_teraz => 2024-05-29 00:14:18
$data_od_kiedy => 2024-05-29 00:56:17

wychodzi na to ze generowanie ktorejs daty masz zle zrobione.
a tak wogole to z czym masz problem? z analiza skryptu napisanego przez siebie? ze znalezieniem bledu?
Go to the top of the page
+Quote Post
henio
post
Post #5





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Już poprawiłem, problem był w tym, że w jednym miejscu pomyliłem w funkcji mktime kolejność godzin i minut.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:23