Doba trvání session?
15 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Má vytvořená session nastavenou dobu platnosti? Kolik minut? Používám totiž session k vytvoření příznaku přihlášení (vše funguje jak má), ale po určitě době, kdy je stránka otevřená během psaní vzkazu na té stránce (asi tak 15-20 minut), zřejmě vyprší onen příznak, protože se stránka chová, jako by se uživatel nepřihlásil, tudíž je třeba se znovu nahlašovat... :( Dá se to ve skriptu PHP nějak nastavit, třeba na 1 hodinu? Dík za info.
-
session_cache_expire nebo neco takoveho
-
; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. session.gc_maxlifetime = 1440
-
Fajn. Mám následující kód, kterým nastavím kešování a platnost: session_cache_limiter('private'); // private nebo private_no_expire? session_cache_expire(60); // 1 hodina platnosti session_start(); if (!session_is_registered("promenna") || $_SESSION["promenna"]<>"ok"): header("location: login.php"); endif; Když dám za půl hodiny obnovit (F5) stránku, na kterou jsem se přihlásil a jako příznak přihlášení uložil do proměnné "promenna" hodnotu "ok", přesměruje mě to na login.php, čili jeden z výrazů není platný. Nápady?
-
<HTML>? nejak tomu nechapu,ale jak psal mira.. prodlouzeni platnosti se provadi pres GC (garbage collection)</HTML>
-
Jakým PHP příkazem se to ale provede? Pokud vím, je to nastavené v PHP.ini na serveru WZ, ale k tomu souboru se já nedostanu, ne?
-
<HTML>ini_set()</HTML>
-
ini_set() je povolenej?
-
mno bohuzel neni...
-
Bych se sakra divil... :)
-
Doba trvání SESSION závisí též na době 'života' příslušného COOKIE-souboru (ukládá se tam identifikátor SESSION), nemá-li je uživatel zakázané (naprostá většina nikoliv). Dobu života souboru COOKIE lze nastavit následujícím příkazem PHP: session_set_cookie_params(3600); // Parametr v závorce udává požadovanou dobu 'života' COOKIE v sekundách (z v tomto případě tedy 1 hodina; 86400 pro 1 den atd.) Důležité upozornění: ============== Všechna nastavení týkající se SESSIONs se musí logicky provádět PŘED příkazem session_start(); a PŘED JAKÝMKOLI výstupem do prohlížeče! Měj se a snad Ti mé rady pomohou, Jirka
-
Pro: Jirka Dík za tip, fungovalo to však jen při zkrácení doby na např. 1 minutu (session_set_cookie_params(60)), ale víc (session_set_cookie_params(3600)) než těch 24 minut (které jsou nastavené v php.ini u položky "session.gc_maxlifetime = 1440" a které ze skriptu nemůžu změnit ani pomocí ini_set()) bohužel ne. Po 24 minutách je prostě cookie neplatná, tudíž i proměnná v té session, a skript se přesměruje na přihlašovací formulář... :-/
-
tak holt na webu napis, at pisou vzkazy rychleji :) a treba tam dej javascriptovy odpocitavani 24 minut :)
-
No, to máš pravdu, že prodloužením životnosti COOKIE více než 24 minut nedostaneš. Ale to zas nejni tak málo ne? Taky nevím, jak tuhle dobu týkající se přímo SESSION prodloužit. :( P.S.: Na WZ maj nastavenu dobu jen 24 minut asi proto, aby jim nedokonalé skripty (a navychovaní uživatelé) zbytečně nezaplňovali paměť s proměnnýma důležitýma pro chod SESSION, jinak fakt netuším...
-
A nebo použít pro jistotu javascriptovou samo-aktualizaci příslušné www-stránky jednou tak za 20 minut...