Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zliczyć czas trwającej sesji?
eunix
post 22.12.2006, 14:15:19
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 22.02.2006

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


Witam,

Pisze klase do obsługi sesji, chce zrobić coś takiego, że w tabeli sessions bedą przetrzymywane długości sesji danego usera.
Czyli przy każdym odświeżeniu strony, tabela będzie edytowana (odpowiedni rekord) i będzie dodawany czas jaki minął, od ostatniego odświeżenia.
Kombinuje sobie z funkcją time(), ale wychodzą mi bardzo dziwne czasy jak to wyświetlam w funkcji date().
Proszę o pomoc i podpowiedzi.

Pozdrawiam
Go to the top of the page
+Quote Post
sobieh
post 22.12.2006, 14:52:23
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 28.10.2004

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


przy zalogowaniu do systemu pobierz sobie czas time(); i zapisz do bazy.
pozniej pobierasz czas z bazy i wkladasz do np. $czas

$zalogowany_od = time() - $czas;
// zwroci czas od jakiego ktos jest zalogowany w Sekundach.

$minuty = $zalogowany_od / 60;
// pokaze od ilu minut

$godziny = $minuty / 60;
// pokaze od ilu godzin

przy wylogowaniu / zakonczeniu sesji

zapisz w bazie czas jako time() ... pozniej bedziesz mogl go pobrac jako info
kiedy ktos sie ostatni raz zalogowal.

Ten post edytował sobieh 22.12.2006, 14:56:06
Go to the top of the page
+Quote Post
eunix
post 22.12.2006, 15:23:36
Post #3





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 22.02.2006

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


No działa tylko nie wiem czemu jest o godzine do przodu, kod:
  1. <?php
  2. echo '<br /><span style="font-size: 15px;">Zalogowany: ' . date('H:i:s', time() - $row['session_time']) . '</span><br />';
  3. ?>

jak sprawdzam samo $row['session_time'] to czas jest o 2 minuty do tył niż obecny na serwerze.

Ten post edytował eunix 22.12.2006, 15:24:32
Go to the top of the page
+Quote Post
sobieh
post 22.12.2006, 16:41:14
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 28.10.2004

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


moze to ma jakis zwiazaek z GMT+1 winksmiley.jpg

  1. <?php
  2. function time2str($time , $format = '%d:%d:%d')
  3. {
  4. $hours = intval($time / 3600);
  5. $minutes = intval(($time - ($hours * 3600)) / 60);
  6. $seconds = intval($time - ($hours * 3600) - ($minutes * 60));
  7.  
  8. return sprintf($format , $hours , $minutes , $seconds);
  9. }
  10.  
  11. echo time2str( 123 , 'Zalogowany od %d godzin , %d minut i %d sekund.');
  12. ?>


Ten post edytował sobieh 22.12.2006, 16:50:21
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:35