$Web Set Cookie Lstr: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
mNo edit summary
Line 2: Line 2:
<span class="pageSubtitle"><section begin="desc" />Set a cookie from a longstring<section end="desc" /></span>
<span class="pageSubtitle"><section begin="desc" />Set a cookie from a longstring<section end="desc" /></span>


$Web_Set_Cookie_Lstr sets "cookie" (Persistent Client State) information from a longstring.


$Web_Set_Cookie_Lstr sets "cookie" (Persistent Client State) information from a longstring.
==Syntax==
==Syntax==
<p class="syntax"><section begin="syntax" /> %RC = $Web_Set_Cookie_Lstr( name, value, expire, -
<p class="syntax"><section begin="syntax" /> %RC = $Web_Set_Cookie_Lstr( name, value, expire, -
Line 10: Line 9:
<section end="syntax" /></p>
<section end="syntax" /></p>


$Web_Set_Cookie_Lstr is a callable $function (see [[Calling_Sirius_Mods_$functions|Calling Sirius Mods $functions]]), and it takes six arguments and returns a status code.


$Web_Set_Cookie_Lstr is a callable $function (see [[Calling_Sirius_Mods_$functions|Calling Sirius Mods $functions]]), and it takes six arguments and returns a status code.
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>name</th>
<tr><th>name</th>
Line 39: Line 38:
</table>
</table>
<p class="caption">$WEB_SET_COOKIE_LSTR return codes</p>
<p class="caption">$WEB_SET_COOKIE_LSTR return codes</p>


Programs may generate more than one cookie, but for any particular name, only one value is sent to the browser. Subsequent $Web_Set_Cookie calls for the same name replace the existing value. Many browsers enforce limits on the size and number of cookies accepted from a server. For many browsers these limits are: a maximum of 20 cookies accepted from a server, and a maximum length of 4,000 bytes per cookie. How these limits are enforced varies from browser to browser, but exceeding these limits is likely to cause application errors.
Programs may generate more than one cookie, but for any particular name, only one value is sent to the browser. Subsequent $Web_Set_Cookie calls for the same name replace the existing value. Many browsers enforce limits on the size and number of cookies accepted from a server. For many browsers these limits are: a maximum of 20 cookies accepted from a server, and a maximum length of 4,000 bytes per cookie. How these limits are enforced varies from browser to browser, but exceeding these limits is likely to cause application errors.


To reset a cookie value, return the cookie to the browser with the expiration date set to a time in the past.
To reset a cookie value, return the cookie to the browser with the expiration date set to a time in the past.


The following example sets a cookie from the contents of a $list, though it does not check to make sure that the length of the cookie has exceeded 4,000 bytes, which it really should. In this example, %LONG is a LONGSTRING variable.


The following example sets a cookie from the contents of a $list, though it does not check to make sure that the length of the cookie has exceeded 4,000 bytes, which it really should. In this example, %LONG is a LONGSTRING variable.
<p class="code"> %LONG = $ListInf(%LIST, 1)
<p class="code"> %LONG = $ListInf(%LIST, 1)
  FOR %I FROM 2 TO $ListCnt(%LIST)
  FOR %I FROM 2 TO $ListCnt(%LIST)
Line 55: Line 52:
  %RC = $Web_Set_Cookie_Lstr('LISTINF', %LONG)
  %RC = $Web_Set_Cookie_Lstr('LISTINF', %LONG)
</p>
</p>


$Web_Set_Cookie_Lstr works much like $WEB_SET_COOKIE, except it can set a cookie longer than 255 bytes.  
$Web_Set_Cookie_Lstr works much like $WEB_SET_COOKIE, except it can set a cookie longer than 255 bytes.  
Line 62: Line 58:


See also:
See also:
<ul>
<ul>
<li>[[$Web_Get_Cookie_Lstr]]  
<li>[[$Web_Get_Cookie_Lstr]]  
<li>[[$Web_Cookie_Len]]  
<li>[[$Web_Cookie_Len]]  
Line 69: Line 65:
<li>[[$Web_Num_Cookie]]  
<li>[[$Web_Num_Cookie]]  
<li>[[$Web_Set_Cookie]]  
<li>[[$Web_Set_Cookie]]  
<li>
<li>[[$Web_Set_Cookie_Lstr]]
</ul>
</ul>


[[Category:Janus Web Server $functions|$Web_Set_Cookie_Lstr]]
[[Category:Janus Web Server $functions|$Web_Set_Cookie_Lstr]]

Revision as of 15:39, 23 February 2011

<section begin="desc" />Set a cookie from a longstring<section end="desc" />

$Web_Set_Cookie_Lstr sets "cookie" (Persistent Client State) information from a longstring.

Syntax

<section begin="syntax" /> %RC = $Web_Set_Cookie_Lstr( name, value, expire, - path, domain, secure ) <section end="syntax" />

$Web_Set_Cookie_Lstr is a callable $function (see Calling Sirius Mods $functions), and it takes six arguments and returns a status code.

name A string indicating the name of the cookie. The cookie name and the path comprise a unique name. Setting a cookie with the same name and path as an existing cookie replaces the existing occurrence. name is a required argument.
value A longstring or string specifying the new value of the cookie.
expire Sets the expiration date of the cookie. The date and time is specified in seconds since 12 AM on January 1, 1900. The function $WEB_DATE2NS is useful for setting the expiration date. If no expiration date is given, the cookie lasts until the end of the current browser session.
path The path specifies which URLs in the domain should receive the cookie. This defaults to the path of the current URL. Specifying only a slash ( / ) for the path means all URLs in the domain should receive the cookie.
domain The domain name specifies the host(s) that should receive the cookies. This string is an optional argument. The default is the local domain.
secure A string that indicates whether the cookie can be sent over unsecure (non-SSL) ports. SECURE indicates the cookie can be sent only on SSL ports. INSECURE indicates the cookie can be sent over both SSL and non-SSL ports. The default value is INSECURE.
Code Meaning
0 Success
-1 Invalid call, not a Web thread
-4 Missing argument

$WEB_SET_COOKIE_LSTR return codes

Programs may generate more than one cookie, but for any particular name, only one value is sent to the browser. Subsequent $Web_Set_Cookie calls for the same name replace the existing value. Many browsers enforce limits on the size and number of cookies accepted from a server. For many browsers these limits are: a maximum of 20 cookies accepted from a server, and a maximum length of 4,000 bytes per cookie. How these limits are enforced varies from browser to browser, but exceeding these limits is likely to cause application errors.

To reset a cookie value, return the cookie to the browser with the expiration date set to a time in the past.

The following example sets a cookie from the contents of a $list, though it does not check to make sure that the length of the cookie has exceeded 4,000 bytes, which it really should. In this example, %LONG is a LONGSTRING variable.

%LONG = $ListInf(%LIST, 1) FOR %I FROM 2 TO $ListCnt(%LIST) %LONG = %LONG WITH '\' WITH $ListInf(%LIST, %I) END FOR %RC = $Web_Set_Cookie_Lstr('LISTINF', %LONG)

$Web_Set_Cookie_Lstr works much like $WEB_SET_COOKIE, except it can set a cookie longer than 255 bytes.

For more information about longstrings, see the Sirius Functions Reference Manual.

See also: