En saa keksejä toimimaan. Asetan keksit näin:
setcookie("keksi", "punainen", time()+1800);
sekä luen näin:
if(isset($_COOKIE['keksi'])) { echo "Keksin arvo on ".$_COOKIE['keksi']."!"; }
Missä piilee vika?
Teethän tuon tulostuksen vasta seuraavalla sivulla tai sivulatauksen jälkeen?
Kyllä, vasta seuraavalla sivulle teen tulostuksen.
Ethän tulosta mitään ennen evästeen asetusta?
Minulla tuo koodi tuntuu toimivan (tein kaksi erillistä sivua).
En tulosta mitään.
Keksit sallittu selaimessa? Ethän epähuomiossa poista keksiä tai tyhjennä $_COOKIE-arrayta missään vaiheessa?
Mikä PHP:n versio? Vanhoissa versioissa (< 4.2.0) register_globals -asetus oli oletuksena päällä, jolloin $_COOKIE['keksi']:n sijaan keksi löytyy suoraan muuttujasta $keksi. Vielä vanhemmissa (< 4.1.0) versioissa koko superglobaalia taulukkoa $_COOKIE ei ole olemassa, vaan keksit löytyvät taulukosta $HTTP_COOKIE_VARS.
Hankala uskoa, että näin antiikkisia versioita olisi vielä käytössä, mutta kun ei nyt muutakaan tule mieleen.
Versio on 5.2.0. Uskon että kaikki on omista pikku virheistä kiinni, katselen tässä illan aikana mitä saan aikaiseksi :)
Tässä kun tätä keksi asiaa tutkin, huomasin että kyllä se sen keksin luo, mutta tulostuksen kanssa on ongelmia.
Voisiko olla niin, että tuo tulostuskoodi on eksynyt sinulla jonkin väärän silmukan sisään, jota et ole avannut tulostaessasi ollenkaan?
Aihe on jo aika vanha, joten et voi enää vastata siihen.