======Принцип производства======
Метод заключается в добавлении информации о пользователе в базу данных, когда пользователь обращается к веб-странице. При добавлении проверьте, есть ли в базе данных онлайн-запись о пользователе. поэтому обновите ее. Если запись не существует, добавьте ее в базу данных.
И удалите онлайн-записи, которые не проявляют активности в течение указанного времени (Возможно, это так!)
======Дизайн таблицы данных========
Создайте новую таблицу данных с именем "Онлайн".
Удалите поле автоматического номера и создайте следующие поля: Имя поля: Тип идентификатора: Число Имя поля: GUESTNAME Тип: Имя текстового поля: STATS Тип: Имя текстового поля: VISITIME Тип: Дата/время Имя поля: OUTTIME Тип: Дата/время.
======================Следующая часть исходного кода предназначена для справки. Если она написана неправильно, пожалуйста, поправьте меня======. ====== ===========
<%
sub activeonline()
dim ip
'////Удалить онлайн-записи, которые неактивны в течение 180 секунд.
sql="Удалить из сети WHERE DATEDIFF('s',outtime,now())>180"
Conn.Execute sql
if stats="" then'//Если значение статистики пусто, оно отображается как
stats="Не знаю, что делаешь?"
еще
статистика = статистика
end if
IP=replace(Request.ServerVariables("REMOTE_HOST"),".","")'////Получите IP-адрес и удалите "." в
IP-адресе '////Проверьте, существует ли он уже в IP-запись онлайн-таблицы
sql="select id from online, где id=""&ip&"'"
set rs=conn.execute(sql)
if rs.eof или rs.bof then'////Если IP-записи нет, добавьте онлайн-запись
sql="insert in online(id,guestname,stats,visitime,outtime) ) значения ("&ip&",'Guest','"&stats&"',Now(),Now())"
else'////Если запись IP уже существует в таблице Online, обновите запись
sql="update онлайн set outime =Now(),stats='"&stats&"',guestname='guest' где id=""&ip&"'"
end if
conn.execute(sql)
конец суб
%>
========================Примеры====================== ====
Измените приведенный выше код, сохраните его как «Online.asp» и вставьте в конец каждой веб-страницы
<%
dim conn
тусклый коннстр
при ошибке продолжить дальше
connstr="DBQ="+server.mappath("имя базы данных.mdb")+";DefaultDir=;DRIVER={Драйвер Microsoft Access (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
'Сохранить как файл conn.asp
%>
<!--#INCLUDE FILE="conn.asp" -->
<%
dim stats
stats="Просмотр онлайн"
вызов activeonline()
Установите rs = Server.CreateObject("ADODB.Recordset")
sql="ВЫБРАТЬ Id,GuestName,Stats,Visitime,Outtime FROM Online ORDER BY Visittime Desc"
rs.open sql,conn,1,3
total=rs.RecordCount
%>
<table border="1" cellpadding="2" cellpacing="0" style="border-collapse: коллапс" bordercolor="#111111" width="100%" height="53">
<тр>
<td width="20%" height="16" align="center">Псевдоним</td>
<td width="20%" height="16" align="center">Действие</td>
<td width="20%" height="16" align="center">Посетить</td>
<td width="20%" height="16" align="center">Последнее событие</td>
</tr>
<%do, пока не rs.eof%>
<тр>
<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
петля
%>
</таблица>
Количество людей онлайн:<%=total%>
<%
RS.закрыть
set rs=nothing
%><!--#INCLUDE FILE="Online.asp" -->
Это нехорошо написано, это смешно. Если у вас есть метод получше, предложите его. Давайте учиться друг у друга!