Aprendendo a lógica de um contador de acesso Código comentado: Esses códigos são referentes a um contador de acesso à Páginas Web. Siga passo a passo e no final você verá uma breve explicação sobre a lógica dos processos realizados abaixo. ABAIXO SEGUE A PROGRAMAÇÃO DE: contador.asp <% 'Declara as variáveis Dim Conn, RsQuery, Pagina, Counter 'Atribui o endereço da página atual a uma variável (Pagina) Pagina = Request.ServerVariables("SCRIPT_NAME") 'Atribui a variável Conn uma instancia do objeto Connection 'ou seja, a variável passa a propriedade de conexão Set Conn = Server.Createobject("ADODB.Connection") 'Abre a conexão com o banco de dados usando o Server.MapPath, que localiza o banco com esse nome 'apenas dentro do mesmo diretório Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("contador.mdb") 'Verifica se a Session Pagina ja contem algum valor, no caso o valor (visitada) If Len(Session(Pagina)) = 0 Then 'Atribui a variável RsQuery a consulta executada no banco de dados Set RsQuery = Conn.Execute("SELECT * FROM acesso") 'Atribui a variável Counter o valor atual de visitas Counter = RsQuery("acesso")+1 'Atribui a variável RsQuery a atualização feita no banco de dados 'Repare que desta maneira você pode usar esse Banco de Dados para várias páginas 'porque apenas será atualizada linha que corresponde a (url = '" & Pagina & "') 'url é o endereço atual Set RsQuery = Conn.Execute("UPDATE acesso SET acesso = " & Counter & " WHERE url = '" & Pagina & "'") 'Atribui a Session(Pagina) o valor "visitada", onde só será contado como uma nova visita quando a sessão for encerrada (a sessão se encerra após 20 minutos de página estática, ou ao fechar o browser) Session(Pagina) = "visitada" 'Caso a Session Pagina não contenha o valor (visitada), será contado como mais uma visita Else 'Atribui a variável RsQuery a consulta atualização feita no banco de dados Set RsQuery = Conn.Execute("SELECT * FROM acesso WHERE url = '" & Pagina & "'") 'Atribui a variável Counter recebe o número de visitas Counter = RsQuery("acesso") 'Fecha o conexão com o banco de dados End If 'Fecha o conexão com o banco de dados Conn.Close 'Caso a Session Pagina não contenha o valor (visitada), será contado como mais uma visita Set Conn = Nothing 'É impresso o total de visitas Response.Write Counter %> FIM DE: contador.asp ABAIXO SEGUE A PROGRAMAÇÃO DE: inicial.asp