Um exemplo de produção estatística que pode numerar visitantes e registrar o número de visitas, IP e tempo
Fiz um site, www.zydn.net Claro, como todo mundo, também coloquei um contador nele. Vi que o contador girava todos os dias e fiquei muito feliz. isso? Meu site? Eles são novos amigos ou velhos amigos? Não sei quantas vezes eles vieram, e queria numerá-los todos, então solicitei estatísticas gratuitas, mas tentei N números seguidos e ainda não fiquei satisfeito. Infelizmente, parece que é a única maneira de ter. comida e roupas suficientes são para fazer sozinho. Está seco, o nível é fedorento, espero que os especialistas riam disso e não pedirei conselhos.
Peguei a biblioteca ACCESS como exemplo. Na verdade, para usar a biblioteca SQL SERVER, você só precisa alterar a instrução da biblioteca de links.
A estrutura da biblioteca é a seguinte
Nome do arquivo da biblioteca: CONT.ASP Originalmente era CONT.MDB, mas depois de construído, a extensão foi alterada para ASP para evitar que a biblioteca fosse baixada.
Nome da tabela: guia
Descrição do tipo de dados do nome do campo
ID Numerar automaticamente o número do visitante
O texto IP é usado para registrar o IP do visitante
data e hora dat1 são usadas para registrar a última vez que o visitante visitou
data e hora são usados para registrar a hora da primeira visita do visitante
Número CS, número inteiro usado para registrar o número de visitas de visitantes
O programa é muito simples, com apenas dois arquivos, dispcont.asp é usado para exibir resultados estatísticos e contpage.asp é usado para informações estatísticas.
Vejamos primeiro as estatísticas de CONTPAGE.ASP. O código é o seguinte:
<%
Definir Conn=Server.CreateObject(ADODB.Connection)
Connstr=DBQ=+server.mappath(cont.asp)+;DefaultDir=;DRIVER={Driver Microsoft Access (*.mdb)};
Conn.Open connstr '*****A instrução acima é usada para conectar-se à biblioteca, cont.asp é o nome do arquivo da biblioteca.
keren=request.cookies(keren) 'Leia cookies, o nome dos cookies é: keren, haha. . O E de Ah Yu é um fedorento literário e só sabe usar o pinyin.
if keren= then 'Determine se cookes está vazio. Se estiver vazio, então deve ser um novo amigo, caso contrário, é um velho amigo.
sql=SELECT * FROM guia onde id=-1
definir rs=server.createobject(ADODB.Recordset)
rs.Abrir sql,conn, 1, 3
rs.addnew 'Se for um novo visitante, adicione um novo registro na biblioteca.
rs(cs)=1 'Lembra o número de visitas como 1
rs(ip)=request.servervariables(remote_addr) 'Lembre-se do IP,
rs(dat)=now 'Lembra a data e hora atuais,
rs(dat1)=date 'Lembre-se da data atual e use-a como a data da primeira visita posteriormente.
response.cookies(keren)=rs(id) 'Escreva um cookie, o conteúdo é igual ao ID.
response.cookies(keren).expires=date+365 'Defina a data de validade dos cookies a partir de agora, 365 dias,
else 'O texto acima é como lidar com novos amigos. O que devemos fazer com velhos amigos? Assista abaixo:
sql=SELECT * FROM tab where id=&keren 'Vá para o banco de dados para encontrar os registros de nossos velhos amigos
definir rs=server.createobject(ADODB.Recordset)
rs.Abrir sql,conn, 1, 3
rs(cs)=rs(cs)+1 'Ok, encontrei, adicione 1 ao número de visitas
rs(ip)=request.servervariables(remote_addr) 'Olhe o IP dele e anote.
rs(dat)=now 'Lembra a hora atual, que é a hora da última visita,
response.cookies(keren)=rs(id) 'Escrever cookies novamente. Não sei se esta frase é redundante, ainda não tentei.
response.cookies(keren).expires=date+365 'Defina o tempo de expiração do cookie para que eu não o reconheça quando um ano terminar.
terminar se
rs.update 'Anotei tudo que deve ser anotado, vamos atualizar a biblioteca.
rs.close 'Fecha o objeto recordset.
set conn=nothing 'Libere conn, ainda acho que a conexão deve ser aberta e fechada a qualquer momento, acho muito indesejável colocá-la em SESSION. 4
%>
Ok, o registro está pronto. São mais de 20 linhas de código. É um programa pequeno e muito simples, mas acho que os especialistas devem ter truques inteligentes. Amigos que têm truques inteligentes não se esqueçam de ensinar Ayu.
Depois que o programa estiver escrito, como coloco-o na página? É muito simples, basta encontrar um local na página inicial e adicionar esta linha de código: <img src=contpage.asp width=0 height=0>.
O próximo passo é mostrar os recordes. Tem muita gente que consegue fazer melhor que Ayu, mas ainda quero mostrar minha feiúra.
Nome do arquivo: dispcont.asp, veja o código:
<%
Definir Conn=Server.CreateObject(ADODB.Connection)
Connstr=DBQ=+server.mappath(cont.asp)+;DefaultDir=;DRIVER={Driver Microsoft Access (*.mdb)};
Conn.Open connstr '*****A instrução acima é usada para conectar-se à biblioteca, cont.asp é o nome do arquivo da biblioteca.
página3=solicitação(pag)
if page3= then page3=session(contpag) 'Número de páginas, página atual
se página3= então página3=1
pa=solicitação(pa)
if pa= then pa=session(contpa) 'Mostra o número por página
if pa= then pa=15 'Por padrão, 15 itens são exibidos em cada página, que podem ser alterados arbitrariamente.
sessão(contpag)=página3
sessão(contpa)=pa
pages=pa 'Exibe o número por página******************O programa acima é usado para implementar a função de paginação
SQL=SELECT * FROM ordem de tabulação por -dat,-id
escurece
Definir rs=Server.CreateObject(ADODB.RecordSet)
rs.Abrir sql,conn,1,1
csi=0
cs1=0
cs100=0
csdat1=0
faça enquanto não rs.eof
csi=csi+rs(cs)
se rs(cs)=1 então cs1=cs1+1
se rs(cs)>=100 então cs100+1
se valordata(rs(dat))=data então
csdat1=csdat1+1
terminar se
rs.movnext
laço
ZS=RS.CONTAGEM DE RECORDES
'********************************************** ***8O seguinte programa é usado para exibição de paginação
%>
<cabeça>
<title>Excelentes estatísticas de computador</title>
</head>
<estilo do corpo=tamanho da fonte: 9pt bgcolor=#D8EDF8>
Há um total de registros <%Response.Write zs%> e a página atual é <%Response.Write page3%>. Cada página exibe: [<a href=dispcont.asp?pag=<%=page3%>. &pa=15>15 ] itens, [<a href=dispcont.asp?pag=<%=page3%>&pa=20>20] itens, [<a href=dispcont.asp?pag=<%=page3%>&pa=30>30] itens, [<a href=dispcont.asp?pag=<%=page3%>&pa=40>40] itens
[<a href=dispcont.asp>Atualizar]
<div alinhar=esquerda>
<borda da tabela=0 cellpadding=0 estilo=tamanho da fonte: 9pt>
<tr><td>Número da página</td><%page2=1
para páginas de etapas i=1 a zs
se página3=cstr(página2) então
%><td ►[<%Response.Write page2%>]</td>
<% mais %>
<td ><a href=dispcont.asp?pag=<%Response.Write page2%>>[<%Response.Write page2%>]</td>
<% fim se
página2=página2+1
próximo
sn=pages*(page3-1) 'Número do registro atual=número exibido por página*número de páginas-número exibido por página
se sn>zs então sn=0
rs.move sn,1
'************************************O parágrafo acima é usado para paginação
%> </tr></table>
</div> <table style=font-size: 9pt width=100% bordercolorlight=#000000 border=1 bordercolordark=#FFFFFF bgcolor=#A4D1E8 cellpacing=0 cellpadding=3>
<tr><td>Número</td><td>Última página inicial visitada</td><td>IP da última visita</td><td>Número de páginas iniciais</td><td>Data da primeira visita</td > </tr><%
para i=1 para páginas
Resposta.Escrever </tr>
Resposta.Write <td>&rs(ID)&</td>
Resposta.Write <td>&rs(dat)&</td>
Resposta.Write <td>&rs(IP)&</td>
Resposta.Write <td>&rs(CS)&</td>
Resposta.Write <td>&rs(DAT1)& </td>
Resposta.Escrever </tr>
rs.movnext
se rs.eof então saia para
próximo
rs.fechar
%>
<tr><td>Total<%=zs%></td><td>O número de visitas é superior a 100 vezes<%=cs100%> </td><td>O número de visitas é 1:< % =cs1%></td><td>Número total de visitas<%=csi%></td><td>Visitas hoje: <%=csdat1%></td></tr>
</tabela>
'****************************** O texto acima é a exibição paginada completa e pode ser usado após copiar tudo. O caso em que não há um único registro não é considerado.