Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: długość życia sesji
Forum PHP.pl > Forum > PHP
angerthor
Witam!

Mam utworzony system rejestracji/logowania na podstawie sesji. Przy każdym poprawnym zalogowaniu "instaluje" w sesji zmienną użytkownik z wartością = nick użytkownika, w kodzie wygląda to tak:

  1. <?php
  2. $_SESSION['user']=$nick
  3. ?>



Na stronie głównej sprawdzam, czy zmienna user została określona w sesji, jeżeli tak user jest zalogowany, jeżeli nie jest gościem, w kodzie:
  1. <?php
  2. if( !isset( $_SESSION['user'] ) ) { 
  3. //wykonywane funcke jeżeli jest gosciem
  4. } 
  5. else {
  6. // wykonywane funkcje jezeli jest zalogowanym
  7. }
  8. ?>


Dodam tylko, że sesje nie są przekazywane w urlu, tylko w cookies. Problem polega na tym, że chociaż mam włączone cookies i czas wygaśniecią cookies datowany jest na 2017r. to i tak jeżeli wejdę na stronę po jakiś 15 minutach znowu jestem jako gość.

Proszę o pomoc
kszychu
W ciachu nie przekazujesz sesji a identyfikator sesji. Sama sesja trzymana jest na serwerze do czasu, aż nie zamkniesz okna przeglądarki. W skrócie. Polecam poczytać dokładniej o mechanizmach sesji i ciastek.
angerthor
ok, wiem, że jest trzymany tam id sesji, ale ta zmienna, też musi gdzieś być przechowywana, bo jeżeli nawet zamknę przeglądarkę, ba wyłącze kompa, i znowu wejdę na stronę ta zmienna ciągle funkcjonuje. Problem w tym, że tylko przez krótki czas.
Droopy
w php.ini masz derekywę session.gc_maxlifetime i ona określa przez jaki czas są trzymane zmienne sesji na serverze....
angerthor
@Droppy

Dzięki, właśnie o to mi chodziło smile.gif
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.