Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zniszcz sesje[php]
Forum PHP.pl > Forum > PHP
ManiQu
Witam.
Co zrobić aby po 15min nieaktywności na stronie zniszczyło sesje? Mój logout wygląda tak:
[php]
c3zi
Możesz ustawić po prostu w pliku konfiguracyjnym ( php.ini ) parametr session.cookie_lifetime ( czas trwania sesji ( ciasteczka ) ), standardowo jest chyba ustawiony na 0, z czego wynika ze sesja jest konczona przy zamykaniu przegladarki ...

Innym sposobem moze byc wrzucenie skryptu do crona i sprawdzanie czy uzytkownik wykonal jakas akcje w ciagu ostatnich 15 minut.
Kosa_03
Podpowiem jak używać sesje biggrin.gif

Start sesji zawsze na początku pliku exclamation.gif
[php]
ManiQu
a nie da się tego zrobic ifem?
ze if nie aktywny iles tam
to
session_destroy();
?
Luciano
gdy uzytkownik zaloguje sie do systemy, do danych jego sesji dorzuc czas w ktorym sie zalogowal. za kazdym odswiezeniem storny dla zalogowanych userow sprawdzaj czas zalogowania z aktualnym czasem i jesli roznica bedzie ponad 15 zniszcz sesje.
domis86
Wy to byscie tylko niszczyli - budować trzeba czarodziej.gif
ManiQu
Cytat(Luciano @ 27.10.2007, 11:59:48 ) *
gdy uzytkownik zaloguje sie do systemy, do danych jego sesji dorzuc czas w ktorym sie zalogowal. za kazdym odswiezeniem storny dla zalogowanych userow sprawdzaj czas zalogowania z aktualnym czasem i jesli roznica bedzie ponad 15 zniszcz sesje.


aż tak zdolny to nie jestem tongue.gif
Kosa_03
Możesz tak zrobić:

  1. <?php
  2.  
  3.  
  4. if(empty($_SESSION['aktualne_odswierzanie']) == true)
  5. {
  6. $_SESSION['aktualne_odswierzanie'] = date('G') . ':' . date('i');
  7. }
  8.  
  9. $_SESSION['poprzednie_odswierzanie'] = $_SESSION['aktualne_odswierzanie'];
  10. $_SESSION['aktualne_odswierzanie'] = date('G') . ':' . date('i');
  11.  
  12. require('oblicz_czas.php');
  13.  
  14. if($roznica >= 15)
  15. {
  16. }
  17.  
  18. ?>


Plik oblicz_czas.php
  1. <?php
  2.  
  3. $aktualny = explode(':', $_SESSION['aktualne_odswierzanie']);
  4. $aktualny_godz = $aktualny[0];
  5. $aktualny_min = $aktualny[1];
  6.  
  7. $ostatni = explode(':', $_SESSION['poprzednie_odswierzanie']);
  8. $ostatni_godz = $ostatni[0];
  9. $ostatni_min = $ostatni[1];
  10.  
  11. //obliczenia dotyczące różnicy czasów...
  12. //obliczenia powinny zwracać wynik w minutach w zmiennej $roznica
  13.  
  14. ?>


Jeśli, ktoś umie dokończyć moje wypociny to bardzo bym prosił...
To jest tylko część skryptu, który powinien działać...
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.