Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przebywanie na stronie
Forum PHP.pl > Forum > PHP
musznik
Witam mam skrypt

  1. <?php
  2. if (!isset($_SESSION['czas']))
  3. {
  4. $_SESSION['czas'] = gmmktime();
  5. $ile = 0;
  6. }
  7.  else
  8. {
  9.  
  10. // wyliczanie roznicy
  11. $sekund = abs(gmmktime()-$_SESSION['czas']);
  12. $minut = (int)($sekund/60);
  13. $godzin = (int)($minut/60);
  14. $dni = (int)($godzin/24);
  15. $lat = (int)($dni/365);
  16.  
  17. // wyliczanie calego okresu
  18. $sekund = (int)($sekund-$minut*60);
  19. $minut = (int)($minut-$godzin*60);
  20. $godzin = (int)($godzin-$dni*24);
  21.  
  22.  echo "<br>lat: $lat; dni: $dni; godzin: $godzin; minut: $minut; sekund: $sekund<br>";
  23.  $ile = $minut;
  24. }
  25. ?>


A oto wynik :

sesja : 2007-02-13 08:50:21
lat: 37; dni: 13557; godzin: 8; minut: 46; sekund: 19


jest to błędne!!! prawidłowy format powinien wygladac tak

sesja : 1171358514
lat: 0; dni: 0; godzin: 0; minut: 0; sekund: 36


nie rozumiem dlaczego tak sie dzieje, poprostu po jakims czasie format daty w sesji ulega zmianie...
jakie moga byc prczyczyny? jak zapobiec?
misiek172
wogóle masz dziwnie napisane... nie lepiej:

  1. <?php
  2. //w chwili zalogowania:
  3. $_SESSION['czas'] = time();
  4.  
  5. //Wyliczanie różnicy z każdym odświeżeniem strony:
  6. $roznica = $_SESSION['czas'] - time();
  7.  
  8. //wyświetlenie:
  9.  
  10. echo"zalogował się: ".date('d.m.Y; h:i:s', $_SESSION['czas']."<br>Jest na stronie już: ".date('d.m.Y; h:i:s', $roznica);
  11. ?>
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.