Manual de consulta

DTW_GETCOOKIE


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>
  %}


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]