Mam eshop, kde si ukladam polozky vlozene do kosika do db. Do stlpca zakaznik_id davam v pripade, ze sa jedna o prihlaseneho pouzivatela jeho user_id, pre anonymnych session_id.
Priebezne sledujem opustene kosiky a pri anonymnych pouzivateloch by som ich rad postupne aj mazal, no chcem si byt isty, ze subor s danym session_id uz skutocne na serveri neexistuje a ku kosiku sa tak dany pouzivatel urcite nevrati. Akym sposobom to spolahlivo odkontrolovat?
PHP - kontrola existencie session
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP - kontrola existencie session
Kód: Vybrať všetko
if(!isset($_SESSION["tvoj_ulozeny_identifikator"])){
//zmazať záznam
}-
Holubar
Darca
- Príspevky: 3894
- Registrovaný: 24 feb 2005, 21:26
- Bydlisko: Senec
- Kontaktovať používateľa:
Re: PHP - kontrola existencie session
Problem v tomto pripade je, ze negenerujem identifikatory sam, ale ukladam do db priamo id, ktore generuje php server pre navstevnika a zistujem ich cez funkciu session_id()
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: PHP - kontrola existencie session
potom by bolo najlepšie pri každom načítaní stránky (teda niekde do headeru alebo footeru) umiestniť kod, ktorý updatne session v tabuľke. Bude tam proste ďalší stlpec s timestampom, a pri každom načítaní stránky sa tento stlpec pre príslušný riadok updatne aktuálnym timestampom. A tiež v tom istom súbore sa pri každej návšteve stránky skontroluje, ktoré časy sú príliš staré (a teda ich nikto neupdatol, takže taká session už v systéme nekoluje). To, aký čas je "starý" a akú majú tvoje session životnosť zistíš funkciou session_cache_expire()