ASP Cookie

Os cookies são frequentemente usados para identificar usuários.

Exemplo

Cookie de boas-vindas
Como criar um cookie de boas-vindas.

O que é Cookie?

Os cookies são frequentemente usados para identificar usuários. Um cookie é um pequeno arquivo que o servidor deixa no computador do usuário. Cada vez que o mesmo computador solicita uma página através do navegador, ele também envia cookies. Com ASP, você pode criar e recuperar valores de cookies.

Como criar cookies?

"Response.Cookies" é usado para criar cookies.

Atenção:O comando Response.Cookies deve estar antes da tag <html>.

No exemplo a seguir, criaremos um cookie chamado "firstname" e atribuiremos o valor "Alex":

<%
Response.Cookies("firstname")="Alex"
%>

Também é possível atribuir atributos ao cookie, como definir a data de expiração do cookie:

<%
Response.Cookies("firstname")="Alex" 
Response.Cookies("firstname").Expires=#May 10,2020#
%>

Como recuperar o valor do cookie?

"Request.Cookies" é usado para recuperar o valor do cookie.

No exemplo a seguir, recuperamos o valor do cookie chamado "firstname" e mostramos o valor na página:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

Saída:

Firstname=Alex

Cookies com chaves

Se um cookie contiver um conjunto de múltiplos valores, podemos dizer que o cookie possui chaves (Keys).

No exemplo a seguir, criaremos um conjunto de cookies chamado "user". O cookie "user" possui chaves que contêm informações do usuário:

<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Adams"
Response.Cookies("user")("country")="UK"
Response.Cookies("user")("age")="25"
%>

Ler todos os cookies

Leia o código a seguir:

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Adams"
Response.Cookies("user")("country")="UK"
Response.Cookies("user")("age")="25"
%>

Suponha que seu servidor tenha passado todos esses cookies para um usuário.

Agora, precisamos ler esses cookies. O exemplo a seguir mostra como fazer isso (por favor, note que o código a seguir usará HasKeys para verificar se o cookie possui chaves):

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

Saída:

firstname=Alex
user:firstname=John
user:lastname=Adams
user:country=UK
user:age=25

Como lidar com navegadores que não suportam cookies?

Se o seu aplicativo precisar lidar com navegadores que não suportam cookies, você terá que usar outras maneiras de passar informações entre as páginas do seu aplicativo. Existem duas maneiras:

1. Adicionar parâmetros ao URL

Você pode adicionar parâmetros ao URL:

<a href="welcome.asp?fname=John&lname=Adams">
Ir para a Página de Bem-vindo
</a>

Então, recupere esses valores em um arquivo semelhante ao seguinte "welcome.asp":

<%
fname=Request.querystring("fname")
lname=Request.querystring("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Bem-vindo ao meu site da Web!</p>")
%>

2. Usar formulário

Você também pode usar o formulário. Quando o usuário clicar no botão enviar, o formulário enviará os dados de entrada do usuário para "welcome.asp":

<form method="post" action="welcome.asp">
Nome:  <input type="text" name="fname" value="">
Sobrenome: <input type="text" name="lname" value="">
<input type="submit" value="Submit">
</form>

Então, recupere esses valores no arquivo "welcome.asp", assim:

<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Bem-vindo ao meu site da Web!</p>")
%>