AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | PTX | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
Finalidad
Devuelve el valor de la cookie especificada.
Formato
@DTW_GETCOOKIE(nombre_cookie IN, valor_cookie OUT)
@DTW_rGETCOOKIE(nombre_cookie IN)
Parámetros
Tabla 34. Parámetros de DTW_GETCOOKIE
Tipo de datos | Parámetro | Uso | Descripción |
---|---|---|---|
serie | nombre_cookie | IN | Variable o serie literal que especifica el nombre de la cookie. |
serie | valor_cookie | OUT | Variable que contiene el valor de la cookie que recupera la función, por
ejemplo información del estado del usuario.
Usuarios de OS/400 y OS/390: Si el valor de la cookie tiene codificaciones de estilo de URL (por ejemplo "%20"), el valor de la cookie se decodifica antes de que se devuelva el valor. |
Códigos de retorno
Tabla 35. Códigos de retorno de DTW_GETCOOKIE
Código de retorno | Explicación |
---|---|
-1001 | El servidor no ha podido procesar una petición de Net.Data para asignar memoria. |
1001 | Un parámetro de entrada contenía un valor NULL. |
1002 | Un parámetro de entrada contenía un valor de serie que consistía en el carácter de terminación nulo. |
1003 | Se ha transmitido un número incorrecto de parámetros en una llamada de función. |
1005 | Se ha transmitido un parámetro en una llamada de función que debería haber sido una variable de serie, pero era de un tipo de variable diferente. |
1006 | Se ha transmitido una serie literal en una llamada de función para un parámetro que debería haber sido un parámetro de salida. |
8000 | No se puede encontrar la cookie. |
Notas de utilización
Defina y recupere una cookie en dos peticiones HTTP independientes. Puesto que una cookie sólo resulta visible después de haberla enviado al cliente, en el caso de que una macro intente obtener una cookie que se haya definido en la misma petición de HTTP, es posible que reciba resultados inesperados.
Ejemplos
Ejemplo 1: Recupera cookies que contengan información de contraseña e ID de usuario
@DTW_GETCOOKIE("mycookie_name_for_userID", userID) @DTW_GETCOOKIE("mycookie_name_for_password", password)
Ejemplo 2: Determina si existe una cookie para un usuario antes de recopilar la información de usuario
%MESSAGE { 8000 : "" : continue %} %HTML(welcome) { <HTML> <body> <h1>Net.Data Club</h1> @DTW_GETCOOKIE("NDC_name", name) %IF (RETURN_CODE == "8000") %{ The cookie is not found. %} <form method="post" action="remember"> <p>Welcome to the club. Please enter your name.<br /> <input name="name" /> <input type="submit" value="submit" /></p> </form> %ELSE <p>Hi, $(name). Welcome back.</p> %ENDIF </body> </HTML> %}
La sección de bienvenida de HTML comprueba si existe la cookie NDC_name. Si existe la cookie, el navegador visualiza un saludo personalizado. Si no existe la cookie, el formulario solicita el nombre de usuario y lo remite a la sección "remember", la cual define el nombre de usuario en el NDC_name de la cookie tal como se muestra a continuación:
%HTML(remember) { <HTML> <body> <h1>Net.Data Club</h1> @DTW_SETCOOKIE("NDC_name", name, "expires=Wednesday, 01-Dec-2010 00:00:00;path=/") <p>Thank you.</p> <p><a href="welcome">Come back</a></p> </body> </HTML> %}