ASP - Obtendo informações do usuário
Você pode querer obter informações dos usuários que acessam suas páginas , e, com ASP isto é muito simples de fazer. ASP contém no objeto request a coleção ServerVariables que pode ser usada para obter uma série de informações a partir da requisição de sua página ASP.
A coleção ServerVariables contém toda a informação gerada quando da requisição de um serviço pelo navegador combinada com as variáveis ambientais do ambiente do servidor.
Sintaxe: Request.ServerVariables(variavel)
Variavel : especifica o nome das variáveis do ambiente do servidor a retornar
Geralmente lemos estas informações para obter informações sobre o servidor ou sobre o navegador. Os membros mais importantes da coleção ServerVariables são:
|
Como Exemplo veremos um script que exibe as variáveis de um servidor da geocities:
<%= Request.ServerVariables("SERVER_NAME") %> retorna geocities.com
<%= Request.ServerVariables("REQUEST_METHOD") %> retorna GET
Para exibir todos os cabeçalhos HTTP enviados pelo seu navegador o script seria:
<% Replace(Request.ServerVariables("ALL_RAW"), vbcrlf, "<BR>" %>
Para certificar-se que um formulário foi submetido a página WEB podemos usar o seguinte script:
Variavel = Request.ServerVariables("SCRIPT_NAME")
Para ler o endereço IP do cliente, temos o script:
Request.ServerVariables("REMOTE_ADDR")
Se você deseja armazenar as informações em um banco de dados basta definir o que quer armazenar e criar uma base de dados Access ( ou qualquer outra) para guardar os dados que serão coletados.
Como exemplo eu vou criar um formulário que o usuário irá acessar para cadastramento. O código ASP é acionado na carga do formulário e obtêm as informações do usuário salvando-as em um banco de dados. (Você pode armazenar em um arquivo XML ou TXT)
Vou criar uma tabela chamada origem no banco de dados visitas.mdb com a seguinte estrutura:
- origem :
informa o endereço de origem de onde partiu a requisição para a página - ip : informa o ip de origem da requisição - serverorigem : o nome do servidor de origem da requisição - data : a data da ocorrência. |
Vamos armazenar os valores através do objeto requeste em variáveis definidas para depois através de uma instrução SQL INSERT INTO gravá-las na base de dados visitas.mdb
urlorigem = Request.ServerVariables("HTTP_REFERER")
iporigem = Request.ServerVariables("REMOTE_ADDR")
serverorigem = Request.ServerVariables("SERVER_NAME")
navegador = Request.ServerVariables("HTTP_USER_AGENT")
Na variável navegador eu vou guardar o nome do Navegador que originou a requisição . Ela será armazenada no campo origem juntamente com o endereço de origem.
O formulário tem o seguinte jeitão :
O código do formulário é o dado a seguir:
<html> <body> <form name="form1" method="post" action="processa.asp"> <table width="100%" border="0" cellpadding="1"> <tr bgcolor="#00FF99"> <td colspan="2"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif">Cadastramento</font></div></td> </tr> <tr> <td width="20%">Nome</td> <td width="80%"><input name="textfield" type="text" size="50" maxlength="80"></td> </tr> <tr> <td>Email</td> <td><input name="textfield2" type="text" size="50" maxlength="100"></td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Enviar"> <input type="reset" name="Submit2" value="Limpar"> </td> </tr> <tr> <td> </td> <td> </td> </tr> </table> </form> </body> </html> |
<% ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:/inetpub/wwwroot/origem/visitas.mdb" Set ObjCon = Server.CreateObject("ADODB.Connection") ObjCon.Open ConnString Dim urlorigem , iporigem, serverorigem, navegador urlorigem = Request.ServerVariables("HTTP_REFERER") iporigem = Request.ServerVariables("REMOTE_ADDR") serverorigem = Request.ServerVariables("SERVER_NAME") navegador = Request.ServerVariables("HTTP_USER_AGENT") If urlorigem = "" Then urlorigem = "veio do Navegador " & navegador End if Set objRS = ObjCon.Execute ("INSERT INTO origem (origem, ip, server ,data) VALUES('" & urlorigem & "','" & iporigem & "' ,'" & serverorigem & "', '" & now() & "')") Set url = Nothing Set objRS = Nothing ObjCon.Close Set ObjCon = Nothing %> |
A parte destacada em cinza é o código do formulário. O código em destaque amarelo é o código ASP. Neste código cabe destacar:
Se urlorigem estiver vazio indica que o usuário digitou a url diretamente no navegador . Na carga do formulário os dados serão gravados no banco de dados. Os resultados obtidos para testes realizados em uma máquina local podem ser vistos abaixo:
Você pode muitas utilidades para as variáveis de ambiente de servidor.
Até o próximo artigo ASP.
Veja os Destaques e novidades do SUPER DVD VB (sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? Veja mais sistemas completos para a plataforma .NET no Super DVD .NET , confira... Quer aprender C# ??
Chegou o
Super DVD C# com exclusivo material de
suporte e vídeo aulas com curso básico sobre C# |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências: