Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] długość życia zmeinnej sesji
pepro
post 20.09.2012, 14:24:58
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.09.2012

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


To mój pierwszy post na tym forum, więc witam wszystkich serdecznie. Nie jestem programistą a jedynie poszukiwaczem rozwiązania problemów więc proszę o wyrozumiałość oraz nie odsyłania do manuali, od tego zawsze zaczynam i staram się rozwiązać.
Mój problem polega na tym, że w żaden sposób nie potrafię ustawić długości życia zmiennej sesji.
Otóż ktoś, kiedyś napisał nam do warsztatu prostą 'aplikację' w php do zarządzania naszymi klientami (historia napraw, gwarancje i inne nieskomplikowane historie). Są tam do wypełniania różne pola. Po zalogowaniu się trzeba coś klikać bo jeśli tego nie zrobisz przerzuca do strony logowania. Jak się doczytałem czas życia zmiennej jest ustawiony globalnie w php.ini i jest to 1440s, czyli klasyczne 24min. Problem u nas polega na tym, że musimy zawsze pamiętać by sobie coś kliknąć aby sesja żyła. Pozostawienie komputera z częściowym wpisem i odejście powoduje, że wszystko co wpisane w pola do tego czasu idzie w kosmos przy naciśnięciu zapisz, bo wskakuje strona logowania.
Pytanie: Jak czas bezczynności czy jak to nazwać, aby sesja trwała powiedzmy 2h lub dłużej.
Na tym forum znalazłem rozwiązanie problemu przy użyciu
  1. ini_set('session.gc_maxlifetime', 7200);

Niestety jednak to nie działa. Poniżej wkleję zawartość plików (jak mi się wydaje) odpowiedzialnych za to i serdecznie Was proszę podpowiedź co jest nie tak:

index.php
  1. <? include ('conf/auth.php')?>
  2. <html>
  3.  
  4. <head>
  5. [...]

conf/auth.php
  1. <? include ('conf/functions.php');
  2. init_session();
  3. if(!isset($_SESSION['validadmin']))
  4. {
  5. header("Refresh: 0; url=login.php");
  6. exit();
  7. }
  8. ?>


conf/functions.php
  1. <?php
  2. include('config.php');
  3.  
  4. function init_session()
  5. {
  6. session_set_cookie_params(50400,"/",$_SERVER['SERVER_NAME']);
  7. ini_set('session.gc_maxlifetime', 7200);
  8. if(!isset($_SESSION['mesg_type']))
  9. $_SESSION['mesg_type']='err';
  10. }
  11. $data = date('d-m-Y');
  12. $godz = date('H:i');
  13. ?>

Linijkę 8 (czyli ini_set('session.gc_maxlifetime', 7200)) dopisałem sam bo tego nie było.

Jest jeszcze plik config.php, ale tam są tylko informacje o bazie (host, user, baza).

Cały skrypt działa prawidłowo poza tym, że święte 24min bezczynności i logowanie ponowne. Nie mam możliwości skontaktowania się z autorem. Zieniałem do testów wartość 7200 na różne, nawet 60 tak by przetestować czy po minucie wywali, niestety wywala i nie mam bladego pojęcia co i jak zrbić.
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:13