Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kania

Contador de visitas total e no momento

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Olá pessoal, estou querendo criar um contador que faça o seguinte, tenha 2 variaves, uma mostra quantos usuários estão on-line no momento e outra mostra o total de visitas até o momento, até ai tudo bem, o problema esta no seguinte o contador vai ser colocado em site que tem servidor próprio e que é acessado inumeras vezes pelos próprios funcionários da loja durante o dia para consulta, automaticamente o contador que estou usando acaba pegando o nº de visitas dos funcionários junto, então estou precisando fazer algo que não conte os acessos internos da loja, e somente os acessos externos, pensei que deveria criar uma variavel que pegue e verifique se o usuário que esta acessando o site é da faixa de ip tal ele não somar ao contador, alguem sabe se tem e como da para fazer isto.

 

A a idéia surgiu porque foi colocado o contador e em menos de 2 horas já esta com 287 visitas, então acreditamos que a grande maioria das visitas eram por causa dos acessos internos e não externos, e precisamos saber os acessos realmente de clientes.

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

É isso mesmo você tem que conferir se o IP é interno ou externo e se for externo contar....

 

Veja os IPs da loja, geralmente começam com 10.alguma coisa... ai na hora que você for verificar você pode fazer +ou- assim:

 

If Left(Request.ServerVariables("remote_addr"),2) = "10" Then'acesso internoElse'acesso externo (contar)End If

Script by Adriano!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara veja como eu fiz para ver aonde estou errando. Peguei este código do site da ImastersArquivo Global.asa

<script LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart' Sub Application_OnStart é a função que inicia' cada vez que o servidor começa.' Iremos validar o tempo que o usuário poderá estar' on-line. (se não houver atividade por parte' do mesmo em x minutos, é feito um desconectado, apagando-se' a variável para aquele visitante)Session.Timeout = 5' O método .Lock trava a variável Application para que possamos ' atualizar a mesma. Se não a tranvarmos ela não será' alterada, neste caso a variável "Momento"Application.Lock' Vamos começar a variável em 0 Application("Momento") = 0' Destravamos agora.Application.UnLockEnd SubSub Session_OnStart' Sub Session_OnStart é a função que inicia' por cada vez que um visitante entra no site.' Aqui vamos então incrementar a nossa variávelApplication.LockApplication("Momento") = Application("Momento") + 1Application.UnLockEnd SubSub Session_OnEnd' Sub Session_OnEnd é a função que inicia' cada vez que um visitante sai do site, é definido por n ' minutos depois que o visitante sair ou estiver inativo.' Este n minutos são definidos por Session.Timeout no' Sub Application_OnStart' então, quanto um visitante é contado como menos um ' acesso simultâneo e por isso vamos decrementar a variável' "Momento"Application.LockApplication("Momento") = Application("Momento") - 1Application.UnLockEnd Sub</SCRIPT>
Apresento na tela a variavel "momento" do global.asa
<%response.write  Application("Momento")%>
Contador de visitas totais[/code]
<%				'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CONTADOR DE VISITAS''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Criação do objeto de acesso a arquivos e o nome do arquivo' -contador.txt- do diretório contadorSet FileObj = Server.CreateObject("Scripting.FileSystemObject")nomeArquivo = Server.MapPath ("./") & "\contador.txt"' Leitura do arquivo contador.txt e incremento do número de visitasSet Entrada= FileObj.OpenTextFile (nomeArquivo, 1, false )Atual = Trim(Entrada.ReadLine)Novo = Atual + 1' Criação do arquivo contador.txt e gravação do número de visitasSet Saida= FileObj.CreateTextFile (nomeArquivo, True)Saida.WriteLine(Novo)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''%>
Mostar o valor total de visitas até o momento,
<!--#include file="contador.txt"-->
Bom peguei a sua dica e fiz a seguinte auteração para mostrar o contador, alterei a variavel do ip interno que aqui e´inicado por 192 (o ip do roteador é (192.168.1.1) ou seja a faixa de ip é dada por ele.
<%If Left(Request.ServerVariables("remote_addr"),2) = "192" Then'acesso internoElse%><!--#include file="contador.txt"--><%response.write  Application("Momento")%><%End If%>

É isso mesmo você tem que conferir se o IP é interno ou externo e se for externo contar....Veja os IPs da loja, geralmente começam com 10.alguma coisa... ai na hora que você for verificar você pode fazer +ou- assim:

If Left(Request.ServerVariables("remote_addr"),2) = "10" Then'acesso internoElse'acesso externo (contar)End If
Script by Adriano!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos, tentei aplicar o q foi indicado pelo shumi (coloquei em vermelho no meu código), mas não esta dando certo, pois o codigo continua contando os meus clicks. Como sou iniciante não sei se apliquei o código no lugar certo e da maneira certa.

Alguém poderia me dizer o que fiz errado?

 

<%

Response.Buffer=TRUE

url = Request.Querystring("cc")

if url <>"" then

set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\site\dbase\site.mdb"

strsql = "SELECT * FROM contador WHERE url = '" & url & "'"

set rs = Server.CreateObject("ADODB.RecordSet")

RS.open strsql, oConn, 3, 3

if Left(Request.ServerVariables("remote_addr"),2) = "123" then 'meu IP

response.redirect URL

else

rs.update

end if

if rs.eof then

rs.AddNew

rs("clicks")= 1

rs("d_acesso")= date(now)

rs("h_acesso")= time(now)

rs("url") = url

rs.update

else

rs("clicks")=rs("clicks")+1

rs("d_acesso")= date

rs("h_acesso")= time

rs.update

end if

rs.Close

set rs=nothing

oConn.Close

response.redirect URL

end if

%>

 

Valeu a ajuda!

 

OBS: O código para o contador retirei da net (infelizmente não lembro o lugar), mas modifiquei algumas coisas para atender as minhas necessidades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.