Evästeiden elinikä PHP:ssä
Tiedät jo, että evästeet on kirjoitettava
käyttämällä funktiota setcookie:
<?php
setcookie('test', 'abcde');
?>
Kuitenkin tällaiset evästeet eivät elä kauan - vain
selaimen sulkemiseen asti. Evästeen elinikää voidaan
pidentää kolmannen parametrin avulla,
joka hyväksyy aikapisteen timestamp-muodossa.
Heti kun tämä hetki tulee - eväste poistetaan
automaattisesti selaimelta.
Kuitenkin tietyn evästeen päättymishetken asettaminen ei ole kovin kätevää. Olisi mukavampaa asettaa eväste esimerkiksi tunniksi nykyhetkestä, tai päiväksi, tai vuodeksi.
Siksi kolmas parametri kirjoitetaan yleensä
näin: nykyinen aika + N sekuntia.
Nykyisen ajan saat timestamp-muodossa
käyttämällä funktiota time.
Asetetaan esimerkiksi eväste yhdeksi
tunniksi. Koska tunnissa on 3600 sekuntia, niin
lisätään tämä luku nykyhetkeen:
<?php
setcookie('test', 'abcde', time() + 3600);
?>
Evästeitä asetettaessa sekunnit yleensä
kirjoitetaan tässä muodossa: - tämä on tunti, 60 * 60 - tämä on vuorokausi. Ja niin edelleen.
Tämä tehdään siksi, että koodiasi lukevan
henkilön on ilmeistä, minkä ajanjakson ajaksi
eväste on asetettu.
60
* 60 * 24
Asetetaan esimerkiksi eväste vuorokaudeksi:
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Aseta jokin eväste kuukaudeksi.
Aseta jokin eväste vuodeksi.
Aseta jokin eväste 10 vuodeksi.