Cookies ASP
Una cookie se utiliza a menudo para identificar a un usuario.
Más ejemplos
Cómo crear una cookie de bienvenida.
¿Qué es una galleta?
Una cookie se utiliza a menudo para identificar a un usuario. Una cookie es un pequeño archivo que el servidor incrusta en la computadora del usuario. Cada vez que la misma computadora solicite una página con un navegador, también enviará la cookie. Con ASP, puede crear y recuperar valores de cookies.
¿Cómo crear una cookie?
El comando "Response.Cookies" se utiliza para crear cookies.
Nota: El comando Response.Cookies debe aparecer ANTES de la etiqueta <html>.
En el siguiente ejemplo, crearemos una cookie llamada "firstname" y le asignaremos el valor "Alex":
<%
Response.Cookies("firstname")="Alex"
%>
También es posible asignar propiedades a una cookie, como establecer una fecha en la que la cookie debe caducar:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012#
%>
¿Cómo recuperar el valor de una cookie?
El comando "Request.Cookies" se utiliza para recuperar un valor de cookie.
En el siguiente ejemplo, recuperamos el valor de la cookie llamada "firstname" y lo mostramos en una página:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
Salida: Nombre=Alex
Una galleta con llaves
Si una cookie contiene una colección de múltiples valores, decimos que la cookie tiene claves.
En el siguiente ejemplo, crearemos una colección de cookies llamada "usuario". La cookie de "usuario" tiene claves que contienen información sobre un usuario:
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Leer todas las Cookies
Mira el siguiente código:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Suponga que su servidor ha enviado todas las cookies anteriores a un usuario.
Ahora queremos leer todas las cookies enviadas a un usuario. El siguiente ejemplo muestra cómo hacerlo (tenga en cuenta que el código a continuación verifica si una cookie tiene claves con la propiedad HasKeys):
<!DOCTYPE html>
<html>
<body>
<%
dim x,y
for each x in Request.Cookies
response.write("<p>")
if Request.Cookies(x).HasKeys then
for each y in Request.Cookies(x)
response.write(x & ":" & y & "=" & Request.Cookies(x)(y))
response.write("<br>")
next
else
Response.Write(x & "=" & Request.Cookies(x) & "<br>")
end if
response.write "</p>"
next
%>
</body>
</html>
Producción:
nombre = Alex
usuario:nombre=John
usuario:apellido=Smith
usuario:país=Noruega
usuario:edad=25
¿Qué sucede si un navegador NO admite cookies?
Si su aplicación utiliza navegadores que no admiten cookies, tendrá que usar otros métodos para pasar información de una página a otra en su aplicación. Hay dos formas de hacer esto:
1. Agregar parámetros a una URL
Puede agregar parámetros a una URL:
<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>
Y recupere los valores en el archivo "welcome.asp" de esta manera:
<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>
2. Usa un formulario
Puedes usar un formulario. El formulario pasa la entrada del usuario a "welcome.asp" cuando el usuario hace clic en el botón Enviar:
<form method="post" action="welcome.asp">
First Name: <input type="text" name="fname" value="">
Last Name: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>
Recupere los valores en el archivo "welcome.asp" de esta manera:
<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>