#1 před rokem

Herly
Člen
Registrovaný: 20. 3. 2010
Příspěvky: 1

Kontrola přihlášenosti přes session

Zdravím,

zkoušel jsem si teď naprogramovat vlastní systém přihlašování a registrace. Všechno funguje jak má, jen řeším jeden problém se kterým si nevím rady – zůstat přihlášen i po zavřítí prohlížeče.

K přenesení informace o tom, kdo je přihlášen, používám session. To se však smaže po zavřítí prohlížeče. Přemýšlel jsem, že změním životnost session v PHP.ini, ale to bych jednak musel otravovat technickou podporu serveru a pak by to bylo globální – to znamená že všem by se cookies o session ukládala po stejnou dobu. Napadlo mě jen jedno řešení:

Nastavit nekřestansky dlouhou životnost session (např. týden) a do databáze uložit k danému uživateli hodnotu zda chce či nechce zůstávat přihlášený (resp. aby si ho systém „pamatoval“) – např. „remember“. Zároveň bude při každém načtení stránky ukládat hodnotu poslední akce. Pak stačí jen kontrolovat následující:

if remember == 1 ulož znovu session (prodluž životnost)
if remember == 0 zkontroluj poslední akci. Je-li rozdíl víc než deseti minut, smaž session.

Tím se session nesmaže i když prohlížeč zavřu a zároveň si může uživatel volit zda chce autopřihlašování nebo ne. Ale zdá se mi to až zbytečně složité nezná někdo snadnější řešení?

 

#2 před rokem

jklasdf
Člen
Registrovaný: 13. 11. 2009
Příspěvky: 7

Re: Kontrola přihlášenosti přes session

A proč má zůstat uživatel přihlásený???? Napiš co se mu stane, když se odhlásí.

 

#3 před rokem

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Kontrola přihlášenosti přes session

Session se ukladaji do cookies s platnosti do zavreni prohlizece a nedoporucuji to menit. Jinak asi bych te odkazal sem:
http://myego.cz/…a-v-databazi

 

Zápatí