sexta-feira, 16 de novembro de 2001

Armazenando Informações em Cookies

A personalização está fazendo com que todos os usuários sejam identificados, mesmo para saber de onde vieram que hora chegaram e o que fizeram. Isso é bom ou ruim para a performance do servidor e da aplicação asp?

A minha resposta é : Tudo vai depender da real necessidade de manter a informação. Você como programador deve saber que os cookies podem ser destruídos pelos usuários assim que eles quiserem, por isso se for para manter uma informação de grande importância, que essa informação seja mantida no banco de dados da aplicação e não em cookies, que são pequenos arquivos armazenados no computador do usuário.

Um bom exemplo para o uso de cookies é a identificação do acesso do usuário e de suas preferências dentro do site. Isso é apenas para os webmasters conhecerem seu público. Mas os cookies também podem ser usados para manter informações ativas durante a permanência do usuário na aplicação. Ex: Controle de Acesso.

Vou mostrar um exemplo bem completo que tem como objetivo mostrar a funcionalidade básica do cookie. Como já foi dito, cookies são informações que podemos gravar no computador do usuário.

A coleção Cookies é usada para enviar um cookie para o navegador do usuário. Permite atribuir um novo valor a um cookie (se ele já existir); caso contrário, o cookie será criado e o valor será atribuído. Por alterarem valores do cabeçalho HTTP response, os valores da coleção Cookies devem ser enviados antes que qualquer código HTML seja enviado para o navegador, exceto se Response.Buffer estiver como True.

1) A página HTML cadastro1.htm cria um formulário simples para receber dois valores do usuário, que neste caso serão o nome e e-mail. Estes valores serão submetidos para página asp cadastro2.asp.

**************************************************
<html>
<head>
<title> Trabalhando com cookies</title>
</head>
<body>
<form method="post" name="cookiesform" action="cadastro2.asp">
<input type="text" name="nome" size="50"><br>
<input type="text" name="email" size="50"><br>
<input type="submit" value="Enviar dados"><br><br>
</form>
</body>
</html>

**************************************************

2) A página asp cadastro2.asp receberá os valores enviados pelo formulário da página cadastro1.htm e criará os cookies: nome e e-mail. Nesta mesma página, criaremos um formulário para solicitar os campos Cidade e Uf.

**************************************************
<%Response.Buffer=True%>
<html>
<head>
<title> Trabalhando com cookies</title>
</head>
<body>
<%
Dim nome,email
nome = Request.Form("nome")
email = Request.Form("email")
Response.Cookies("nome") = CStr(nome)
Response.Cookies("email") = CStr(email)
%>
<form method="post" name="cookiesform" action="cadastro3.asp">
<input type="text" name="cidade" size="50"><br>
<input type="text" name="uf" size="2"><br>
<input type="submit" value="Enviar dados"><br><br>
</form>
</body>
</html>

**************************************************

Os cookies armazenam dados do tipo string. É bom usar a função Cstr() para converter a variável para esse tipo.

3) A página asp cadastro3.asp vai ler o conteúdo dos cookies nome e email que foram criados pela página cadastro2.asp e apresentá-los como conteúdo de seu campo de formulário correspondente.

**************************************************
<%Response.Buffer=True%>
<html>
<head>
<title> Trabalhando com cookies</title>
</head>
<body>
<%
Dim nome,email,cidade,uf
nome = Request.Cookies("nome")
email = Request.Cookies("email")
cidade = Request.Form("cidade")
uf = Request.Form("uf")
%>
<form method="post" name="cookiesform" action="inserirdados.asp">
<input type="text" name="nome" size="50" value="<%=nome%>"><br>
<input type="text" name="email" size="50" value="<%=email%>"><br>
<input type="text" name="cidade" size="50" value="<%=cidade%>"><br>
<input type="text" name="uf" size="2" value="<%=uf%>"><br>
<input type="submit" value="Enviar dados"><br><br>
</form>
</body>
</html>

**************************************************

Se você executar os scripts acima, vai ver que o campo "nome" e "email" foram preenchidos pelos valores recuperados de seus respectivos cookies. Na prática é deste jeito que manipulamos cookies via script asp.

Boa Programação!

Esta matéria foi postada originalmente no ASP4Developers por Leonardo da Silva Calado (site), que na época era "Usuário avançado de Dreamweaver ultradev e programador ASP, JSP, PHP, VISUAL BASIC e Condfusion.
tenho preferência por ASP uma linguagem de facil aprendizado.". Hoje, vai saber...

0 comentários: