Mundo Web
manuales - recursos - gráficos - programación...

Home - ASP - Cookies -  1 - 2 - 3  - 4 - 5  - 6

Cookies (IV)
por Luciano Moreno, Web Master de HTMLWeb


Leyendo las cookies

Una vez escritas nuestras cookies, necesitamos acceder al contenido de las mismas, cosa que vamos a conseguir mediante la colección Cookies del objeto Request, que extrae del disco duro del usuario todas aquellas que cookies que nuestro servidor esté autorizado a leer.

Su sintaxis básica de uso es del tipo:

Request.Cookies("nombre_cookie")

Que en el caso de haber usado cookies con claves (diccionarios) se transforma en:

Request.Cookies ("nombre_cookie") ("nombre_clave")

Generalmente, los valores de las cookies y de sus claves se recuperan asignándolos a variables ASP:

miVariable = Request.Cookies("nombre_cookie") ("nombre_clave")

Vamos a suponer en lo que sigue que hemos escrito la siguiente cookie en el disco duro de nuestros usuarios:

<%
  Response.Cookies ("usuario")("nombre")="Pedro"
  Response.Cookies ("usuario")("apellido")="Martínez"
  Response.Cookies ("usuario")("edad")= 30
  Response.Cookies ("preferencias")("colorFondo")= "#ffff99"
  Response.Cookies ("preferencias")("tipoFuente")= "Verdana"
%>

Si queremos obtener de una sola vez todos los valores de una cookie con claves, podemos hacer una lectura especificando únicamente el nombre de la cookie:

<%
  Dim miCookie
  miCookie = Request.Cookies("usuario")
%>
<p>Valores de la cookie usuario: <%=miCookie%></p>

Que nos da:

Valores de la cookie usuario: nombre=Pedro&edad=30&apellido=Mart%EDnez

Donde la cadena de salida aparece codificada en el formato URL (escapando caracteres como ñ,~,&,etc.),y con la sintaxis clave1=valor1&clave2= valor2, como podemos comprobar en esta ventana.

También es posible realizar directamente una llamada a Request.Cookies, que nos devolverá de golpe todos los elementos de la colección Cookies en una única cadena:

<%
  Dim misCookies
  misCookies = Request.Cookies
%>
<p>Valores almacenados en las cookies:</p>
<p><%= misCookies %></p>

Que nos da:

Valores almacenados en las cookies:

preferencias=tipoFuente=Verdana&colorFondo=%23ffff99;usuario=nombre=Pedro&edad=30&apellido=Mart%EDnez

Donde vemos que los datos de las dos cookies aparecen separados por un punto y coma (;), como podemos comprobar en esta ventana.

Podemos acceder a todas las cookies almacenadas en la colección Cookies usando un bucle For Each:

<%
  Dim misCookies
  misCookies = ""
  For Each elemento in Request.cookies
    misCookies = misCookies & "Cookie " & elemento & ": " & Request.cookies(elemento) & "<br>"
  Next
%>
<p>Valores en la colección:</p>
<p><%= misCookies %></p>

Que nos da:

Cookie preferencias:tipoFuente=Verdana&colorFondo=%23ffff99
Cookie usuario:nombre=Pedro&edad=30&apellido=Mart%EDnez

Como podemos comprobar en esta ventana.

Y, en caso de que la cookie sea de tipo diccionario, podemos realizar un bucle anidado para presentar los valores:

<%
  Dim miCookie
  If(Request.Cookies("usuario").HasKeys) Then
    miCookie = Request.Cookies("usuario")
  Else
    miCookie = Request.Cookies
  End If
%>
<p>miCookie : <%= miCookie %></p>

Que nos da:

miCookie : nombre=Pedro&edad=30&apellido=Mart%EDnez

Como podemos comprobar en esta ventana.

 

anterior
siguiente

Home - ASP - Cookies -  1 - 2 - 3  - 4 - 5  - 6