Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sesje i czas trwania!
gylopl
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 6.04.2008

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


Witam!
Mam maly problemik:) otoz nie wiem za bardzo co zrobic zeby sesja trwala 10min:(

jak mam stronke

  1. <?php
  2. //kod strony blebleble
  3. ?>


to przed session_start(); mam walnac skrypt? tylko jaki? chodzi o $_SESSION['expire']= time() + 60; questionmark.gif

jak mam taki skrypt to sesja i tak trwa i trwa:( a ktos mi mowil ze mam tak zrobic
  1. <?php
  2. $_SESSION['expire']= time() + 60;
  3.  //kod strony blebleble
  4.  ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
krzyszbi
post
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 13
Dołączył: 15.09.2005

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


może pomorze manual

Cytat(gylopl @ 25.09.2008, 13:04:07 ) *
  1. <?php
  2. $_SESSION['expire']= time() + 60;
  3.  //kod strony blebleble
  4.  ?>


używasz zmiennej $_SESSION zanim jest dostępna więc na pewno nie zadziała


--------------------
Everything should be made as simple as possible, but not simpler. - A.Eainstein
Go to the top of the page
+Quote Post
gylopl
post
Post #3





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 6.04.2008

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


Cytat
proste: Robisz w sesji zmienna z czasem ostatniej aktywnosci na stronie. Przy kazdej aktywnosci uruchamiazs skrypt ktory bedzie sprawdzal czy minelo 5 minut od ostatniej aktywnosci i tutaj masz 2 warianty:

1 jak minelo to wylogowujesz usera i niszczysz zmienne sesyjne
2 jak nie minelo to aktualizujesz czas i powtarzasz kroki...


taka odpowiedz dostalem od pewnego uzytkownika.... jak mam zrobic ta zmienna sesji z czasem ostatniej aktywnoscni?
(czytalem manuala, ale nie bardzo rozumiem sesje sciana.gif )
Go to the top of the page
+Quote Post
ShadowD
post
Post #4





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Nie wiem czy to najlepsze wyjście ale:
*To co teraz napiszę powtarzasz na każdej stronie
1. Sprawdzasz czy istnieje zmienna $_session['czas']
1a. Jeśli nie to tworzysz ją i zapisujesz do niej aktualny czas...
1b. jeśli tak to:
2. Sprawdzasz czy różnica czasu zapisanego w zmiennej i realnego różni się o 10min.
2a. Jeśli nie to zapisujesz nowy czas
2b. Jeśli różni się o ponad 10 min usuwasz sesję
3. Koniec...

Kod(nie sprawdzany):
  1. <?php
  2. if(isset($_session['czas']))
  3. {
  4. $_session['czas']=time();
  5. }
  6. else
  7. {
  8. $roznicaCzasow=1*60*10; //sekunda * minuta * 10 minut = 10min
  9. $czasSesi=time()-$_session['czas'];
  10. if(czasSesi>=$roznicaCzasow)
  11. {
  12. echo 'sesja się skonczyła';
  13. //Usunięcie sesji
  14. }
  15. else
  16. {
  17. $_session['czas']=time();
  18. }}
  19. ?>


Ten post edytował ShadowD 25.09.2008, 16:29:38


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
gylopl
post
Post #5





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 6.04.2008

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


shadow... mam cos takiego, lecz niestety nie dziala;/ gdy sie loguje to odrazu przekierowywuje mnie spowrotem:(
to ma zwiazek chyba z tymi obliczeniami...(do logowania dodalem linijke ktora tworzy session[czas])

  1. <?php
  2.  
  3.  
  4. if(isset($_session['czas']) && isset($_session['zalogowany']) )
  5. {
  6. $roznicaCzasow=1*60*10; //sekunda * minuta * 10 minut = 10min
  7. $czasSesi=time()-$_session['czas'];
  8.  
  9.        if($czasSesi>=$roznicaCzasow)
  10.            {
  11.            echo 'sesja się skonczyła';
  12.            session_destroy();// Usunięcie sesji
  13.            Header('locatio:./../l_r_l/logowanie.php');
  14.            }else
  15.                {
  16.                $_session['czas']=time();
  17.                }
  18.  
  19. }
  20. else
  21. {
  22. Header('locatio: ./../l_r_l/logowanie.php'); // jeżeli ktoś wchodzi na ta strone bez logowania to przenosi go do formularza logowania.
  23. }
  24. ?>
Go to the top of the page
+Quote Post
Mchl
post
Post #6





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


A może tak?

  1. <?php
  2. ini_set("session.gc_maxlifetime", "600");
  3. ?>
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 Aktualny czas: 20.08.2025 - 14:52