AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | PTX | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
目的
傳回所指定 cookie 的值。
格式
@DTW_GETCOOKIE(IN cookie_name, OUT cookie_value)
@DTW_rGETCOOKIE(IN cookie_name)
參數
資料類型 | 參數 | 使用 | 說明 |
---|---|---|---|
字串 | cookie_name | IN | 指定 cookie 名稱的 變數或文字字串。 |
字串 | cookie_value | OUT | 包含經由函數取回之 cookie 值的變數,
例如使用者狀態資訊。
OS/400 與 OS/390 使用者: 如果 cookie 值具有 URL 樣式編碼 (例如 "%20"),則 cookie 值會在傳回之前被解碼。
工作站使用者: 如果 cookie 值具有 URL 樣式編碼 (例如 "%20"), 則 cookie 值不會在傳回之前被解碼。 |
回覆碼
回覆碼 | 說明 |
---|---|
-1001 | 伺服器無法處理 Net.Data 的配置記憶體要求。 |
1001 | 輸入參數包含 NULL 值。 |
1002 | 輸入參數包含的字串有空字元結尾。 |
1003 | 函數呼叫上傳遞的參數數目不正確。 |
1005 | 函數呼叫上傳遞的參數必須是字串變數,但卻是不同的變數類型。 |
1006 | 文字字串傳遞給函數呼叫中的參數, 但此參數必須是輸出參數。 |
8000 | 找不到 cookie。 |
用法注意事項
在兩個不同的 HTTP 要求中定義並取回 cookie。 因為 cookie 只能在被傳送到從屬站以後才可看見, 如果巨集嘗試去獲得定義於相同 HTTP 要求的 cookie, 您可能會接收到不預期的結果。
範例
範例 1:取回包含使用者 ID 和密碼資訊的 cookie
@DTW_GETCOOKIE("mycookie_name_for_userID", userID) @DTW_GETCOOKIE("mycookie_name_for_password", password)
範例 2:在收集使用者資訊之前, 決定使用者 cookie 是否存在
%MESSAGE { 8000 : "" : continue %} %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),您好!歡迎再度光臨。</p> %ENDIF </body> </html> %}
HTML 歡迎使用區段會檢查 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> %}