======Principio de producción======
El método consiste en agregar la información del usuario a la base de datos cuando el usuario accede a la página web. Mientras agrega, verifique si hay un registro en línea del usuario en la base de datos. entonces, actualícelo. Si el registro no existe, agréguelo a la base de datos.
Y elimine los registros en línea que no tengan actividad dentro del tiempo especificado (¡probablemente eso sea todo!)
======Diseño de tabla de datos========
Cree una nueva tabla de datos llamada "En línea".
Elimine el campo numérico automático y cree los siguientes campos: Nombre de campo: Tipo de ID: Número Nombre de campo: GUESTNAME Tipo: Nombre de campo de texto: STATS Tipo: Nombre de campo de texto: VISITIME Tipo: Fecha/Hora Nombre de campo: OUTTIME Tipo: Fecha/Hora.
=======================La siguiente parte del código fuente es como referencia. Si no está bien escrita, corríjame ======. ====== ===========
<%
sub activeonline()
dim ip
'////Eliminar registros en línea que estén inactivos dentro de 180 segundos.
sql="Eliminar DESDE en línea DONDE DATEDIFF('s',outtime,now())>180"
Conn.Execute sql
if stats="" then'//Si el valor de las estadísticas está vacío, se muestra como
stats="¿No sabes lo que estás haciendo?"
demás
estadísticas=estadísticas
end if
IP=replace(Request.ServerVariables("REMOTE_HOST"),".","")'////Obtenga la IP y elimine el "." en
la IP '////Compruebe si ya existe en el registro IP de la tabla en línea
sql="seleccione id en línea donde id='"&ip&"'"
establezca rs=conn.execute(sql)
si rs.eof o rs.bof entonces'////Si no hay un registro IP, agregue un registro en línea
sql="insertar en online(id,guestname,stats,visitime,outtime ) valores ("&ip&",'Invitado','"&stats&"',Now(),Now())"
else'////Si el registro IP ya existe en la tabla en línea, actualice el registro
sql="update tiempo de configuración en línea =Ahora(),stats='"&stats&"',guestname='guest' donde id='"&ip&"'"
finaliza si
conn.execute(sql)
final sub
%>
=========================Ejemplos========================= ====
Modifique el código anterior, guárdelo como "Online.asp" e incorpórelo al final de cada página web
<%
dim conn
conexión tenue
en caso de error reanudar siguiente
connstr="DBQ="+server.mappath("nombre de la base de datos.mdb")+";DefaultDir=;DRIVER={Controlador de Microsoft Access (*.mdb)};"
establecer conexión=server.createobject("ADODB.CONNECTION")
conn.open connstr
'Guardar como archivo conn.asp
%>
<!--#INCLUDE FILE="conn.asp" -->
<%
dim stats
stats="Ver en línea"
call activeonline()
Establecer rs = Server.CreateObject("ADODB.Recordset")
sql="SELECCIONE Id., Nombre de huésped, Estadísticas, Tiempo de visita, Tiempo exterior DESDE PEDIDO en línea POR Descripción de Visitime"
rs.open sql,conn,1,3
total=rs.RecordCount
%>
<table border="1" cellpadding="2" cellpacing="0" style="border-collapse: contraer" bordercolor="#111111" width="100%" height="53">
<tr>
<td width="20%" height="16" align="center">Apodo</td>
<td width="20%" height="16" align="center">Acción</td>
<td width="20%" height="16" align="center">Visita</td>
<td width="20%" height="16" align="center">Último evento</td>
</tr>
<%hacer mientras no 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.movenext
bucle
%>
</tabla>
Número de personas en línea:<%=total%>
<%
rs.cerrar
establecer rs=nada
%><!--#INCLUDE FILE="Online.asp" -->
No está bien escrito, es ridículo. Si tiene un método mejor, envíelo. ¡Aprendamos unos de otros!