======Princípio de produção======
O método é adicionar as informações do usuário ao banco de dados quando o usuário acessa a página da web. Ao adicionar, verifique se há um registro online do usuário no banco de dados. então, atualize-o. Se o registro não existir, adicione-o ao banco de dados.
E exclua os registros online que não têm atividade dentro do tempo especificado (provavelmente é isso!)
======Design da tabela de dados========
Crie uma nova tabela de dados chamada "Online"
Exclua o campo de número automático e crie os seguintes campos: Tipo de ID: Número Nome do campo: GUESTNAME Tipo: Nome do campo de texto: STATS Tipo: Nome do campo de texto: VISITIME Tipo: Data/Hora Nome do campo: OUTIME Tipo: Data/Hora.
=======================A seguinte parte do código-fonte é para referência. ====== ===========
<%
sub activeonline()
dim ip
'////Excluir registros online que estão inativos em 180 segundos.
sql="Excluir FROM online WHERE DATEDIFF('s',outtime,now())>180"
Conn.Execute sql
if stats="" then'//Se o valor de stats estiver vazio, ele será exibido como
stats="Não sabe o que está fazendo?"
outro
estatísticas=estatísticas
end if
IP=replace(Request.ServerVariables("REMOTE_HOST"),".","")'////Obtenha o IP e remova o "." no
IP '////Verifique se isso já existe em o registro IP da tabela online
sql="select id from online where id='"&ip&"'"
set rs=conn.execute(sql)
if rs.eof ou rs.bof then'////Se não houver registro IP, adicione um registro online
sql="insert into online(id,guestname,stats,visitime,outtime ) valores ("&ip&",'Guest','"&stats&"',Now(),Now())"
else'////Se o registro IP já existir na tabela Online, atualize o registro
sql="update online set outtime =Now(),stats='"&stats&"',guestname='guest' where id='"&ip&"'"
end if
conn.execute(sql)
end sub
%>
=========================Exemplos========================= ====
Modifique o código acima e salve-o como "Online.asp" e incorpore-o no final de cada página web
<%
dim conn
dim connstr
em caso de erro, retome a seguir
connstr="DBQ="+server.mappath("nome do banco de dados.mdb")+";DefaultDir=;DRIVER={Driver Microsoft Access (*.mdb)};"
definir conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
'Salvar como arquivo conn.asp
%>
<!--#INCLUDE FILE="conn.asp" -->
<%
dim stats
stats="Ver online"
ligue para activeonline()
Definir rs = Server.CreateObject("ADODB.Recordset")
sql="SELECT Id,GuestName,Stats,Visitime,Outime FROM Online ORDER BY Visitime Desc"
rs.open sql,conn,1,3
total=rs.RecordCount
%>
<table border="1" cellpadding="2" cellpacing="0" style="border-collapse: colapso" bordercolor="#111111" width="100%" height="53">
<tr>
<td width="20%" height="16" align="center">Apelido</td>
<td width="20%" height="16" align="center">Ação</td>
<td width="20%" height="16" align="center">Visitar</td>
<td width="20%" height="16" align="center">Último evento</td>
</tr>
<%do enquanto não rs.eof%>
<tr>
<td width="20%" height="28" align="center"><%=rs(1)%></td>
<td width="20%" height="28" align="center"><%=rs(2)%></td>
<td width="20%" height="28" align="center"><%=rs(3)%></td>
<td width="20%" height="28" align="center"><%=rs(4)%></td>
</tr>
<%
rs.movnext
laço
%>
</tabela>
Número de pessoas online:<%=total%>
<%
rs.fechar
set rs=nada
%><!--#INCLUDE FILE="Online.asp" -->
Não está bem escrito, é ridículo. Se você tiver um método melhor, envie-o.