======制作原理======
この方法では、ユーザーが Web ページにアクセスしたときに、データベースにユーザーのオンライン記録があるかどうかを確認します。レコードが存在しない場合は、データベースに追加します。
そして、指定された時間内にアクティビティのないオンライン レコードを削除します (おそらくこれです!)
======データ テーブルの設計========
「オンライン」という名前の新しいデータ テーブルを作成します
。
自動数値フィールドを削除し、次のフィールドを作成します。 フィールド名: ID タイプ: 数値 フィールド名: GUESTNAME タイプ: テキスト フィールド名: STATS タイプ: テキスト フィールド名: VISITIME タイプ: 日付/時刻 フィールド名: OUTIME タイプ: 日付/時刻
=======================ソースコードの次の部分は参考用です。うまく書かれていない場合は修正してください======。 ====== ===========
<%
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 where id='"&ip&"'"
set rs=conn.execute(sql)
if rs.eof または rs.bof then'////IP レコードがない場合は、オンライン レコードを追加します
sql="insert into online(id,guestname,stats,visitime,outtime) )values ("&ip&",'Guest','"&stats&"',Now(),Now())"
else'////IP レコードが既に Online テーブルに存在する場合、レコードを更新します
sql="update online set outime =Now(),stats='"&stats&"',guestname='guest' where id='"&ip&"'"
end if
conn.execute(sql)
エンドサブ
%>
=========================例======================== ====
上記のコードを変更して「Online.asp」として保存し、各 Web ページの最後に埋め込みます
<%
dim conn
薄暗いコンセント
エラー時は次から再開
connstr="DBQ="+server.mappath("データベース名.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
' conn.asp ファイルとして保存
%>
<!--#INCLUDE FILE="conn.asp" -->
<%
dim stats
stats="オンラインで表示"
呼び出し activeonline()
Set rs = Server.CreateObject("ADODB.Recordset")
sql="訪問時間の説明によるオンライン注文から ID、ゲスト名、統計、訪問時間、滞在時間を選択"
rs.open sql,conn,1,3
total=rs.RecordCount
%>
<table border="1" cellpadding="2" cellpacing="0" style="border-collapse:collapse" bordercolor="#111111" width="100%" height="53">
<tr>
<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%>
<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
ループ
%>
</テーブル>
オンラインの人数:<%=total%>
<%
rs.close
set rs=nothing
%><!--#INCLUDE FILE="Online.asp" -->
うまく書かれていないので、もっと良い方法があれば、ぜひ投稿してください。