Naprej na vsebino

Piškotki v JavaScript

Danes, ko sem delal na projetni nalogi za maturo, sem prišel do problema s piškotki (cookies), katere ustvarjam s pomočjo JavaScript. Pri nalogi uporabljam piškotek Template v katerega shranim ime dizajna kateri naj bo prikazan. In vse je delovalo dokler je bil naslov strani v eni mapi, s tem mislim:

  • www.domena.com
  • www.domena.com/news
  • www.domena.com/cotact

Danes ko pa sem svoje skripte pisal dalje in začel uporabljati podmape kot so:

  • www.domena.com/news/test1
  • www.domena.com/profile/edit

In tukaj sem naletel na težavo, tako da če imate podobn problem poznam rešitev :)

Na začetku sem imel za ustvarjanje piškotka takšno funkcijo:

[js] function IzberiTemplate($name)
{
document.cookie = "Template=" + $name;
setTimeout("location.reload(true);",0);
}[/js]

Stvar je super delovala dokler ni podmap. Ker sem bolj vešč PHP kode kot JS mi seveda sploh ni bilo jasno kaj bi bilo narobe.

PHP piškotek se ustvari takole:

[php toolbar="false"]setcookie(ime_piškotka, vrednost[,cas[,pot[,domena]]])[/php]

In pri PHPju, če poti ne vmesemo avtomatsko pot nadomesti z "/" kar pomeni da je piškotek dostopen tudi v vseh podmapah. JS pa tega ne naredi, tako da piškotek kot je ustvarjen zgoraj ne deluje v podmapah in je to potrebno vpisati ročno. Sedaj moja funkcija izgleda takole:

[js]function IzberiTemplate($name)
{
document.cookie = "Template=" + $name +"; path=/";
setTimeout("location.reload(true);",0);
}[/js]

Dodal sem path=/, to kar PHP naredi že sam. Sedaj stvar deluje tudi v podmapah. Bodite pozorni na to, če naredite takšno napako kot jaz in jo popravite, ko testirate pobrišite piškotke v brskalniku, ker jaz sem imel narejeno prav, pa sem mislim da še vedno nimam ter sem še pou ure zapravil za to, da sem se spomnil da je treba pobrisati stare piškotke v brskalniku :)




Deli objavo s prijatelji

  • Delicious
  • Digg
  • Newsvine
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter

Podobne objave

There are no related posts on this entry.

Komentarji

  1. umrak11 February 24, 2010

    Kater program uporabljaš za kodiranje in programiranje?

  2. Nejc February 24, 2010

    Aptana Studio z dodatkom za PHP seveda…

    Drugače pa če je kej na hitro, samo en file recimo uporabljam pa Notepad++

Dodaj komentar

Obvezno

Obvezno

Ni obvezno