jak nastavit exporaci session

pospi
Člen | 24
+
0
-

Ahoj
chtel bych se zeptat zda mi poradite s nastavenim expirace session.
Rad bych aby vsechny session meli expiraci 14 dni. Tzn v common.neon nastavim :

session:
	expiration: 14 days

ale zaroven chci aby jsem jednu hodnotu v session nastavil na 0, tj. ze session vyprsi expirace hned po uzavreni prohlizece.
zkousel jsem :

$sessionWeb->set('user_visit', true, 0);

ale to hodi chybu.
Nevite jak na to , za reakce dekuji predem.

Infanticide0
Člen | 100
+
0
-

Po zavření prohlížeče umí expirovat cookie, ty v session (na straně serveru) přece nevíš, kdy uživatel opustil web.
Co přesně chceš udělat?

pospi
Člen | 24
+
0
-

Omluvte me za mozne zmateni pojmu, s php zacinam. Reknu to jinak:
Povedlo se mi docilit pozadovaneho chovani kdyz jsem do celkoveho nastaveni dal

session:
	cookie_lifetime: 0

ale ja chci aby session melo expiraci 14 dni, tedy aby v nastaveni bylo : expiration: 14 days
ale jen jednu session bych chtel nastavit tak aby se chovala jako cookie_lifetime: 0

Infanticide0
Člen | 100
+
0
-

Session je uložená na serveru.
Cookie je uložená v prohlížeči.

Správná session pro uživatele se načítá podle hodnoty cookie. Všechny session nastavení se týkají právě téhle cookie.

Nemyslím si, ze jde smazat „proměnná“ na serveru po opuštění webu, můžeš aktualizovat timestamp s každým requestem a počítat s tim, ze kdo má tuhle hodnotu starší než 30 minut, na webu už neni.

Kamil Valenta
Člen | 799
+
0
-

Vytvoř si v JS vlastní separátní cookie, která bude expirovat se zavřením okna prohlížeče (nejsem si jist, zda to ale má spolehlivou podporu napříč browsery, mám pocit, že nemá).
Pokud s dalším requestem tato cookie nepřijde, považuj danou proměnnou v sessioně za expirovanou a invaliduj si ji sám.