Cookies ASP
Um cookie é frequentemente usado para identificar um usuário.
Mais exemplos
Como criar um cookie de boas-vindas.
O que é um Biscoito?
Um cookie é frequentemente usado para identificar um usuário. Um cookie é um pequeno arquivo que o servidor incorpora no computador do usuário. Cada vez que o mesmo computador solicita uma página com um navegador, ele também enviará o cookie. Com ASP, você pode criar e recuperar valores de cookie.
Como criar um biscoito?
O comando "Response.Cookies" é usado para criar cookies.
Nota: O comando Response.Cookies deve aparecer ANTES da tag <html>.
No exemplo abaixo, vamos criar um cookie chamado "firstname" e atribuir o valor "Alex" a ele:
<%
Response.Cookies("firstname")="Alex"
%>
Também é possível atribuir propriedades a um cookie, como definir uma data em que o cookie deve expirar:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires=#May 10,2012#
%>
Como recuperar um valor de cookie?
O comando "Request.Cookies" é usado para recuperar um valor de cookie.
No exemplo abaixo, recuperamos o valor do cookie chamado "firstname" e o exibimos em uma página:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
Saída: Nome=Alex
Um biscoito com chaves
Se um cookie contém uma coleção de vários valores, dizemos que o cookie tem Chaves.
No exemplo abaixo, criaremos uma coleção de cookies chamada "usuário". O cookie "usuário" possui Chaves que contêm informações sobre um usuário:
<%
Response.Cookies("user")("firstname")="John"
Response.Cookies("user")("lastname")="Smith"
Response.Cookies("user")("country")="Norway"
Response.Cookies("user")("age")="25"
%>
Ler todos os cookies
Observe o seguinte 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"
%>
Suponha que seu servidor tenha enviado todos os cookies acima para um usuário.
Agora queremos ler todos os cookies enviados a um usuário. O exemplo abaixo mostra como fazer (observe que o código abaixo verifica se um cookie possui Keys com a propriedade 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>
Saída:
nome=Alex
usuário:nome=João
usuário:sobrenome=Smith
usuário:país=Noruega
usuário:idade=25
E se um navegador NÃO suportar cookies?
Se seu aplicativo lida com navegadores que não suportam cookies, você terá que usar outros métodos para passar informações de uma página para outra em seu aplicativo. Há duas maneiras de fazer isso:
1. Adicione parâmetros a um URL
Você pode adicionar parâmetros a um URL:
<a href="welcome.asp?fname=John&lname=Smith">Go to Welcome Page</a>
E recupere os valores no arquivo "welcome.asp" assim:
<%
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. Use um formulário
Você pode usar um formulário. O formulário passa a entrada do usuário para "welcome.asp" quando o usuário clica no botão 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 os valores no arquivo "welcome.asp" assim:
<%
fname=Request.form("fname")
lname=Request.form("lname")
response.write("<p>Hello " & fname & " " & lname & "!</p>")
response.write("<p>Welcome to my Web site!</p>")
%>