Mitä eroa Cookie ja Sessionsilla?
Se että jälkimäinen säilyy vain yhden istunnon ajan, ja on joka tapauksessa on pakko käyttää cookies, jos haluaa, että sivusto muistaa käyttäjän seuraavalla kerralla?
Se että jälkimäinen säilyy vain yhden istunnon ajan, ja on joka tapauksessa on pakko käyttää cookies, jos haluaa, että sivusto muistaa käyttäjän seuraavalla kerralla?
Vastaukset 1
Vanhimmat
Ainoa ero on, että kekseissä data säilytetään kävijän koneella sessioneilla data palvelimella. Session id-tunnus on joko keksissä tai osoitteen perässä. Jos id-tunnus katoaa niin luodaan uusi sessioni.
"Se että jälkimäinen säilyy vain yhden istunnon ajan"
Ei, sessioni säilyy vaikka ikuisuuden jos niin halutaan, oletuksena tosin keksi on istunto kohtanen. Tarvittaessa voidaan tehdä oma session käsittelijä joka länttäsee datan tietokantaan tai muualle, myös session datan voi tallentaa ihan omaan hakemistoonsa jolloin palvelimien scriptit jne... eivät niitä siivoa. Tämä mahdollistaa myös sen, että kirjaantumisen kautta päästään käsiksi vanhaan sessioon, joka ei ole mahollista jos data kekseissä.
Esim .htaccess tiedostoon
php_value session.cookie_lifetime (sekunteina aika jonka session keksi voimassa)
Tuota voi muuttaa ini_setin kautta ihan scripti kohtasestikin http://fi2.php.net/manual/fi/function.ini-set.php katos http://fi2.php.net/manual/fi/ref.session.php niin näät mitä kaikkee asetuksii sessioneihin liittyen voit muuttaa.
Tallennus hakemiston vaihto http://fi2.php.net/manual/fi/function.session-save-path.php ja muutenkin nuo kaikki session functiot kannattaa lukasta läpi.
"ja on joka tapauksessa on pakko käyttää cookies, jos haluaa, että sivusto muistaa käyttäjän seuraavalla kerralla?"
Ei, tuon voit tehdä sessioneilla tai kekseillä, sessionit mahdollistaa sen, että sivu muistaa käyttäjän vaikka keksit ei olisikaan sallittu.
Se kumpaa kannattaa käyttää riippuu mitä on tekemässä. Tosin sessioneilla päästään parempaan toiminnallisuuteen kun keksit ei pakollisia.