Sessions eru náttl cookies, eins og ég skýri á www.bergur.is þá til þess að geta flakkað á milli síðna í session ham þá er kaka send til þín með session Id og síðan eru upplýsingarnar um þig sem þú notaðir session_register í að geyma, geymdar á serverinum í temp skrá, serverinn finnur siðan réttu skránna með session id hjá þér og getur síðan fundið data í skránni sem hún geymdi af því að það er með sama session id, en það sem að clinet side session kakan er ólík venjulegu kökunni sem þú setur handvirkt inn með setcookie(); syntaxinum, þá hefur fyrrnefnda ekki “expire time”, hann er notaður til þess að gá hvort kakann er ennþá í gildi…og því eyðist session kakan út þegar þú lokar vafranum…
Það er hinsvegar því sniðugt ef þú villt ennþá hafa fólk innskráð þó það loki vafranum er því að setja hina kökuna inn handvirkt með setcookie(); hún yrði með expire time sem þú ákveður bara, segjum bara vika eða það er að segja 604800þús sekúndur, gott að miða við það því ef hann kemur ekki í viku á síðuna þína þá þarf hann að skrá sig inn aftur. Gallinn er aftur á móti að ef fleiri eru að nota sömu tölvuna og það fer inná síðina, þá er það innskráð með sem hinn aðilinn er notandi af =)
Allaveganna þá setur þú kökuna client side megin:
setcookie (“valligusessionkerfi”, $HTTP_SESSION_VARS['id'],time()+604800);
time() gefur þér tímann akkúrat núna og við síðan plúsum við hann einni viku frá því akkúrat núna. Síðan nota þú global breytu í að ná í kökuna, það er að segja HTTP_COOKIE_VARS[]; eða $_cookie[]; og $_session[]; ef þú ert með php4.2.0
Minni á að þetta gæti ekki virkað í mismunandi útgáfum af vöfrum, IE yfir 5,0 þá verður að hafa öll intin í kökunni með einhverju innihaldi og í sumum verður að hafa slóðina á síðuna sem notar kökina, ef það er ekki gert þá gæti þetta ekki virkað. Mæli með að þið kíkið á þetta á php.net!
Við eyðum út hinsvegar köku ef þú villt að notendur geti tekið hakið af “muna eftir mér” með því að yfirskrifa kökuna, við einfaldlega setjum einhvern tíma í expire time í kökuna sem er liðinn eins og t.d. time()-3600 eða bara 1.janúar 1970.
Þeir sem vilja fyrst læra session, þá skrifaði ég grein og setti inná síðuna hans ask á bergur.is, það er ekki notað session kökur í að muna eftir notendum eftir að vafranum er lokað en allaveganna er hægt að nota hana í að læra session með php ef þið haldið að það sé eitthvað sem þið getið lært af henni :)