USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Contador Inteligente, Se incrementa apenas 1 vez por dia
Postada em 9/10/2003 por ^HEAVY-METAL^            
Criei este contador para que possa se ter uma ideia exata de quantas pessoas estão acessando o seu site, ele se incrementa apenas uma vez por dia pra cada usuario, ex.: se eu acessar o site que tenha esse contador ele ira se incrementar, se eu acessar denovo ele não se incrementara até que se passe 24h desde a minha ultima visita, sendo assim conta uma vez por dia pra cada usuário...
Fique a vontade:

1- Crie um banco de dados clientes.mdb, crie uma subpasta na pasta em q vc esta trabalhando com o nome de DB, e salve-o lá:

Tabela de nome
Contador

Campos:

id --------------------- AutoNumeração
ip --------------------- Texto
data ------------------ Data/Hora
conta ----------------- Número





2 - Eis o fonte

<% @ LANGUAGE="VBScript" %>
<% Response.Buffer = True %>
<%

vInternetProtocol = Request.ServerVariables("REMOTE_ADDR")
dt = date()

Set Connexao = Server.CreateObject("ADODB.Connection")
BancoDados = Server.MapPath("db/clientes.mdb")
Connexao.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & BancoDados
SQLString = "SELECT * FROM Contador WHERE ip = '"&vInternetProtocol&"'"
Set Rs = Connexao.Execute(SQLString)

' Verifica se esse IP já visitou o site. Se não visitou a Var Varifica recebe o valor 1
if Rs.EOF then
verifica = 1
end if

While not Rs.EOF
vMaior = Rs("id")
Rs.MoveNext
Wend


' CONDIÇÃO SE 1 - Se esse ip não visitou o site ainda, ele será cadastrado no banco de dados e o contador incrementado.
if verifica = 1 then

Set Con = Server.CreateObject("ADODB.Connection")
BD = Server.MapPath("db/clientes.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & BD
SQL = "INSERT INTO Contador(ip, data, conta) VALUES ('"&vInternetProtocol&"', '"&date()&"', 1)"
Set Rs2 = Connexao.Execute(SQL)
Con.Close
Set Con = Nothing

else

' CONDIÇÃO SE 2 - Se já visitou vefifica-se se a data da visita é a data atual, se for a data atual, contador não será incrementado
SQLString = "SELECT * FROM Contador WHERE id="&vMaior&""
Set Rs = Connexao.Execute(SQLString)
if Rs("data") = Date() then
' Se não for a data atual, contador é incrementado
else

Set Con = Server.CreateObject("ADODB.Connection")
BD = Server.MapPath("db/clientes.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & BD
'SQL = "INSERT INTO Contador(conta) VALUES (1)"
SQL = "INSERT INTO Contador(ip, data, conta) VALUES ('"&vInternetProtocol&"', '"&date()&"', 1)"
Set Rs2 = Connexao.Execute(SQL)
Con.Close
Set Con = Nothing

'fim se 2
end if

'fim se1
end if

Connexao.Close
Set Connexao = Nothing
%>

<%
Set Connexao = Server.CreateObject("ADODB.Connection")
BancoDados = Server.MapPath("db/clientes.mdb")
Connexao.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & BancoDados
SQLString = "SELECT Conta FROM Contador'"
Set Rs = Connexao.Execute(SQLString)


While not Rs.EOF
vConta = vConta + Rs("conta")
Rs.MoveNExt
Wend

'Response.Write vConta
Connexao.Close
Set Connexao = Nothing
%>
para chamar o contador:

<% Response.Write vConta %>

T+,
 


CyberWEB Network Ltda.    © Copyright 2000-2018   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página