Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] ciągłe kończenie sesji
Forum PHP.pl > Forum > Przedszkole
dresik
Witam,
jak podtrzymać sesję przez dłuższy czas, bo po 1-2 godzinach nie odświeżania strony odrazy mnie wylogowuje.

kod mniej więcej tak wygląda
  1. <?php
  2.  
  3. ...
  4.  
  5. if(isSet($_SESSION['logon'])){
  6.  
  7.  ...
  8.  
  9. }else {
  10.  
  11. // Logowanie
  12. ...
  13.  
  14. }
  15. ?>


co tu jest nie tak? ustawia się gdzieś cos jeszcze żeby nie wylogowało?

miałem zrobiony jeszcze do tego skrypt, który po 4 godzinach dopiero wylogował użytkownika:

  1. <?php
  2. if ($_SESSION['czas_sesji'] and $_SESSION['czas_sesji']+60*240<time()) { // 240 minut
  3.  header("Location: index.php");
  4.  exit();
  5. }
  6. $_SESSION['czas_sesji'] = time();
  7. ?>


ale usunąłem go bo myślałem że to przez niego.

Jeśli ktoś wie w czym tkwi problem to proszę o pomoc, ponieważ dopiero się ucze php
jarrod
id sesji (po stronie przeglądarki) najczęściej przechowywany jest w pliku cookie. Jeśli to cookie jest ustawione że ma wygasnąć po jakimś czasie to i sesja wówczas wygasa.
[link]http://us3.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime[/link]
W manualu php.net sesje są bardzo szczegółowo opisane i powinieneś tam zajrzeć w pierwszej kolejności.
soliniak
A czy nie daloby rady zrobic tak zeby strona odświeżała sie co powiedzmy 1h i 30min?

<head>
<meta http-equiv="Refresh" content="5400" />
</head>

Wtedy strona bedzie sie odswizala co 1h 30min i strona bedzie na nowo wysylac do cookies czas sesji i bedzie przedluzala sesje. Chyba ze sie myle...
marek44
Za dużo kombinujesz to tak jak byś chciał maszyną do pisania surfować po sieci.
Fifi209
Pozmieniaj sobie ustawienia w php.ini

session.gc_maxlifetime
session.cookie_lifetime

Ew. Napisz sobie session handlera.
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.