Autor | Zpráva | ||
---|---|---|---|
rad Profil * |
#1 · Zasláno: 10. 9. 2011, 10:40:55
rad bych vyresil dobu platnosti session
ale moc nevim jak na to rad bych aby napriklad po necinosti 20 minut vyjelo okno z hlaskou kde bude vase session se smaze chcete to ? a uzivatel si vybere Nemate nekdo navod nebo nejake reseni na toto ? diky za rady. |
||
ShiraNai7 Profil |
#2 · Zasláno: 10. 9. 2011, 11:48:38
Při spuštění session do ní uložit čas, například takto:
session_start(); if(!isset($_SESSION['create_time'])) { // session je nova, ulozime cas $_SESSION['create_time'] = time(); } A dale v kodu muzes pracovat prave s $_SESSION['create_time']. Pokud chces aby "vyjelo okno" tak to bys musel resit na urovni javascriptu, kompletni reseni ti tu asi nenapisu :) |
||
rad Profil * |
#3 · Zasláno: 10. 9. 2011, 12:00:03
ok a pak dal v kodu bych mel srovnavat co ?
napriklad - session_start(); if(!isset($_SESSION['create_time'])) { // session je nova, ulozime cas $_SESSION['create_time'] = time(); } else time()>$SESSION['create_time']+ ... a tady prave nevim v jakem formatu bych to mel zadata pro napriklad 20 minut ? jinak diky asi by pak stacilo zavolat javascript kterym by se potvrdilo nebo ne session destroy |
||
ShiraNai7 Profil |
#4 · Zasláno: 10. 9. 2011, 12:08:36
rad:
„jinak diky asi by pak stacilo zavolat javascript kterym by se potvrdilo nebo ne session destroy“ Pokud bys to chtel v realnem case tak by to nestacilo. Uzivatel muze mit stranku otevrenou klidne i dele nez tech 20 minut. „a tady prave nevim v jakem formatu bych to mel zadata pro napriklad 20 minut“ Cas je v sekundach, takze 20*60 ... +1200 sekund. |
||
rad Profil * |
#5 · Zasláno: 10. 9. 2011, 17:33:20
hm diky
zkousim tohle ale zda se jako by se do $SESSION nic neulozilo na echu mam jen ten cas if(!isset($_SESSION['create_time'])) { // session je nova, ulozime cas $_SESSION['create_time'] = time(); } else { if(time()>($SESSION['create_time']+1200)) { echo time(); echo "</br></br>"; echo ($SESSION['create_time']); } } |
||
DoubleThink Profil * |
#6 · Zasláno: 10. 9. 2011, 17:52:36
Ukládat čas do session nedává žádný smysl - platnost se počítá od posledního požadavku.
Upozornit uživatele, že jeho session brzo vyprší tak můžeš jen a pouze klientským skriptem (window.setTimeout). |
||
rad Profil * |
#7 · Zasláno: 10. 9. 2011, 17:56:53
ok presto by me zajimalo proc kdyz udelam toto
if(!isset($_SESSION['create_time'])) { $time = time(); $_SESSION['create_time'] = $time; var_dump($SESSION['create_time']); } else { var_dump($SESSION['create_time']); } vysledek je NULL NULL coz je docela podivne. |
||
Davex Profil |
#8 · Zasláno: 10. 9. 2011, 17:58:25 · Upravil/a: Davex
rad:
Chybí to podtržítko u $SESSION .
|
||
rad Profil * |
#9 · Zasláno: 10. 9. 2011, 18:26:20
uf diky
pro : DoubleThink: „Upozornit uživatele, že jeho session brzo vyprší tak můžeš jen a pouze klientským skriptem (window.setTimeout).“ takze je nesmysl to delat press session ? a pak volat javascript ? zda se mi to docela dobre reseni. |
||
DoubleThink Profil * |
#10 · Zasláno: 10. 9. 2011, 21:53:57
rad:
Podmínka if(time()>($SESSION['create_time']+1200)) V době, kdy bys chtěl informovat o blížícím se vypršení session, už dávno začalo nových 20 minut platnosti. |
||
Časová prodleva: 14 let
|
0