AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | PTX | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
產生可在從屬站系統上設定 cookie 的 JavaScript 程式碼。
格式
@DTW_SETCOOKIE(IN cookie_name, IN cookie_value, IN adv_opts)
@DTW_SETCOOKIE(IN cookie_name, IN cookie_value)
參數
資料類型 | 參數 | 使用 | 說明 |
---|---|---|---|
字串 | cookie_name | IN | 指定 cookie 名稱的 變數或文字字串。 |
字串 | cookie_value | IN | 指定 cookie 值的
變數或文字字串。
避免在 cookie_value 中使用分號 (;)、逗點 (,) 及空格。若需要這些特殊字元時, 請先使用 Net.Data 函數 DTW_rURLESCSEQ 來處理包含這些特殊字元的字串, 再將字串遞送到 DTW_SETCOOKIE。 例如, @DTW_SETCOOKIE("my_cookie_name", @DTW_rURLESCSEQ("my cookie value")) |
字串 | adv_opts | IN | 包含可選用屬性的字串, 由分號所隔開,可用來定義 cookie.*。 |
*可選用的屬性可以是︰
關於所有進階選項的其餘資訊,請參閱網站 http://home.netscape.com 上的 Netscape cookie 規格。 |
回覆碼
回覆碼 | 說明 |
---|---|
-1001 | 伺服器無法處理 Net.Data 的配置記憶體要求。 |
1001 | 輸入參數包含 NULL 值。 |
1002 | 輸入參數包含的字串有空字元結尾。 |
1003 | 函數呼叫上傳遞的參數數目不正確。 |
1005 | 函數呼叫上傳遞的參數必須是字串變數,但卻是不同的變數類型。 |
用法注意事項
範例
範例 1:以「安全」進階選項來定義包含使用者 ID 和密碼 資訊
@DTW_SETCOOKIE("mycookie_name_for_userID", "User1") @DTW_SETCOOKIE("mycookie_name_for_password", "sd3dT", "secure")
範例 2:定義包含到期日進階選項 的 cookie
@DTW_SETCOOKIE("mycookie_name_for_userID", "User1", "expires=Wednesday 01-Dec-2010 00:00:00") @DTW_SETCOOKIE("mycookie_name_for_password", "sd3dT", "expires=Wednesday, 01-Dec-2010 00:00:00; secure")
函數呼叫應在同一行;本範例中分成許多行是受限於版面。
範例 3:在收集使用者資訊之前, 決定使用者 cookie 是否存在
%HTML(welcome) { <html> <body> <h1>Net.Data 俱樂部</h1> @DTW_GETCOOKIE("NDC_name", name) %IF ($(RETURN_CODE) == "8000") %{ 找不到 cookie。%} <form method="post" action="remember"> <p>歡迎蒞臨本會。請輸入您的姓名。<br /> <input name="name"> <input type="submit" value="submit"><br /> </form> %ELSE <p>$(name) 您好,歡迎再度光臨。 %ENDIF </body> </html> %}
HTML(welcome) 區段會檢查 cookie NDC_name 是否存在。如果 cookie 存在, 瀏覽器會顯示一個個人化的歡迎。 如果 cookie 不存在,瀏覽器會要求使用者輸入名稱, 並將它置於 HTML(remember) 區段。 這個區段將使用者名稱記錄到 cookie NDC_name,如下面所顯示:
%HTML(remember) { <html> <body> <h1>Net.Data 俱樂部</h1> @DTW_SETCOOKIE("NDC_name", name, "expires=Wednesday, 01-Dec-2010 00:00:00;path=/") <p>感謝您。</p> <p><a href="welcome">回上一步</a></p> </body> </html> %}