Munkamenet életben tartása.
Mi a legegyszerűbb módja annak, hogy böngésző bezárásáig életben tartsak egy munkamenetet?
Ezekre gondoltam:
- Indítok setTimeOut-ot kliensen és meghatározott időközönként beolvastatok egy php-t.
- Teszek egy képet kliensre és azt töltetem újra úgy, hogy a kép egy php-n keresztül olvasódik be.
- Teszek egy iframe-t valahova hidden div-be és azt töltögetem újra ás újra.
Melyik a legoptimálisabb? Tudtok egyebet javasolni?
s_volenszki
■ Ezekre gondoltam:
- Indítok setTimeOut-ot kliensen és meghatározott időközönként beolvastatok egy php-t.
- Teszek egy képet kliensre és azt töltetem újra úgy, hogy a kép egy php-n keresztül olvasódik be.
- Teszek egy iframe-t valahova hidden div-be és azt töltögetem újra ás újra.
Melyik a legoptimálisabb? Tudtok egyebet javasolni?
s_volenszki
Lemaradt!
ajax vagy lejárati idő módosítása
De ha van mód, akkor inkább módosítsd a munkamenet lejárati időt. Már csak azért is, mert így be tudsz állítani egy felső korlátot a lejáratnak (ha pl egy óráig nincs lapletöltés, akkor minek tárold tovább a munkamenetet), mig ezt javascripttel nehézkes lenne megoldani.
A helyzet a következő.
Vannak esetek, mikor user nem használja a rendszert több órán keresztül, és amikor újra használná, be kell jelentkeznie. Ez nekem nem lenne gond, user-nek az.
Két lehetőséget fontolgattam:
1. Bejelentkezéskor a munkamenet azonosítót beütöm user-nek sütibe (ami böngésző bezárásáig érvényes) és beírom egy adatbázis rekordba felasználó névvel és jelszóval együtt. Mikor az alkalmazás újra a bejelentkező oldalra kerül, megnézetem, van-e munkamenet süti. Ha van, kiolvasom a hozzá tartozó rekordot és a benne található adatokkal újrahitelesítem user-t.
2. Harminc percenkén AJAX-olok egyet szerverre.
Az első megoldás elegáns, a második egyszerű.
cookie
Köszönöm!
http://hu.php.net/manual/en/function.session-set-save-handler.php