setCookie

Ukladá cookie.

Boolean setCookie ( 
	String name ,
	String value ,
	Date | Int expires [ ,
	String path [ ,
	String domain [ ,
	Boolean secure ] ] ]
)
name
Jméno cookie.
value
Hodnota cookie.
expires
Časový okamžik, ve kterém vyprší platnost cookie. Lze zadat hodnoty:
  • datum - nastavení platnosti cookie na přesné datum. Lze využít TFS funkci dateDiff().
  • číslo - nastavení platnosti cookie počtem sekund. Lze zadat hodnoty speciálního významu:
    • kladné číslo - Platnost cookie bude určena tímto počtem sekund
    • 0 - Cookie bude hned odstraněna
    • záporné číslo - Platnost cookie bude do konce session (stejně jako hodnota null, viz níže)
  • null - Hodnota null stanovuje platnost do konce session.
path
Cesta, pro kterou je cookie platná. Pokud parametr není uvedený, platí cookie jen pro aktuální URL. Hodnota "/" znamená platnost pro všechny URL na dané doméně.
domain
Doména, pro kterou je cookie platná.
secure
Hodnota true znamená, že cookie se odesílá jen při https:. Pokud je hodnota null, odesílá se cookie bez ohledu na zabezpečení.

Tato funkce primárně provádí akci: nastavuje cookie. Přesto vrací hodnotu; výpis této hodnoty obyčejně budeme chtít potlačit pomocí příkazu let.

Příklad: Nastavení cookie ze šablony
Vstup
{let server:=asString(".", _request.serverName)}
{let setCookie("barva", "cerna", null, "/", server)}

Nastaví cookie „barva“ s hodnotou „cerna“.

Cookie platí do konce session (hodnota null), pro všechny URL na dané doméně (hodnota „/“) a pro celou doménu (pozor na úvodní tečku, kvůli kompatibilitě s IE).

Příklad: Nastavení platnosti cookie
Vstup
{let setCookie("barva", "cerna", dateDiff(null, "+1M"), "/")}

Nastaví cookie „barva“ s hodnotou „cerna“.

Cookie bude platit měsíc (hodnota dateDiff(null, "+1M")), pro všechny URL na dané doméně (hodnota „/“).

Většinou je vhodnější, aby nastavení cookie prováděla buď přímo obslužná logika aplikace, nebo až javascript doplňující uživatelské rozhraní. Použití této funkce by mělo být vždy až poslední možností.

Pro vložení příspěvku do diskuse se přihlašte.