Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sesja na stronie i odliczanie w JS
TwojPan
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 13.08.2013

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


Witam,
Pewnie wielu z Was spotkal sie z czym takim na stronach zwlaszcza gdzie trzeba 'cos' wykonac w okreslonym czasie i o to mi chodzi.

Potrzebuje wyswietlic licznik a jak sie czas skonczy to nastepuje przekierowanie do pliku wylogowania. Problem w tym ze to musi dzialac na kazdej podstronie. Czyli jesli podczas zalogowania ustawie (sesja (IMG:style_emoticons/default/questionmark.gif) ) czas to ma to dzialac na kazdej podstronie ale nie o poczatku. bo tak to tez potrafie.

Jak sformatowac czas do wyniku: 4:00 i odliczanie od tego ? Potrafie tylko w sekundach.

Ten post edytował TwojPan 5.06.2014, 16:18:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Zapisz na początku w sesji czas - time.
Odpal odliczenie na stronie X.
Użytkownik przechodzi na kolejną stronę, sprawdź ile ubyło (porównaj czas w sesji - czas startu od aktualnego).
Wartość przekaż do JS i rozpocznij odliczanie.
Go to the top of the page
+Quote Post
TwojPan
post
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 13.08.2013

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


Cytat(markonix @ 5.06.2014, 18:50:44 ) *
Zapisz na początku w sesji czas - time.
Odpal odliczenie na stronie X.
Użytkownik przechodzi na kolejną stronę, sprawdź ile ubyło (porównaj czas w sesji - czas startu od aktualnego).
Wartość przekaż do JS i rozpocznij odliczanie.

Ok, wiec zrobilem przyklad lecz nie wiem jak sformatowac czas do postaci 5:00 i od tego odliczanie bo teraz mam ilosc sekund - 300 sekund / 5min.

Najpierw przyklad ktory ustawi sesje. To musi byc gdzies w pliku logowania.

  1. <?
  2. ini_set('session.cookie_lifetime',0);
  3. session_name('PHPSESSID');
  4.  
  5.  
  6.  
  7. $czas = '300'; // 5 min
  8. $aktualny = time();
  9. $aktualnyplus = $aktualny + $czas;
  10. $_SESSION['licz'] = $aktualnyplus;
  11.  
  12. ?>


Przyklad ktory bedzie sprawdzal na innych podstronach.

  1. <?
  2. ini_set('session.cookie_lifetime',0);
  3. session_name('PHPSESSID');
  4.  
  5.  
  6. $now = time();
  7.  
  8. if($_SESSION['licz']<=$now)header("location:logout.php");
  9.  
  10. $co = $_SESSION['licz'] - time();
  11.  
  12. ?>
  13.  
  14. <span id="seconds" style="font-size: 13px"></span> sec. / <?= '300' / 60;?> min.
  15. <script type="text/javascript">
  16. o=document.getElementById('seconds')
  17. function odliczaj(o,sek){
  18. o.innerHTML=sek
  19. if(sek>0)setTimeout(function(){odliczaj(o,--sek)},1e3)
  20. if(sek==0)window.location.href="logout.php"
  21. }
  22. odliczaj(document.getElementById('seconds'),<?= $co;?>)
  23. </script>


Tylko jak teraz sformatowac zmienna $co na format 5:00 i rozpoczacodliczanie zeby bylo bardziej przystepne dla oka bo teraz jest 300 sekund

Ten post edytował TwojPan 6.06.2014, 07:53:44
Go to the top of the page
+Quote Post
Damonsson
post
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


http://lmgtfy.com/?q=javascript+seconds+to...tes+and+seconds
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: 2.10.2025 - 22:45