まずは新しいACCESSデータベースを作成しましょう
内容は
テーブル名: zai
フィールドは、
1.ip
2.時間
ファイルをindex.aspとして作成します。
それでは以下の手順で進めていきましょう!
<%
'================================================ = ================================================ =
'
'************************ Bingling オンライン人数カウント プログラム V2.0 ***************** ***********
'
『当サイトの番組はアイスクリーム剣士「ビングリンスタジオ」が独自に制作しております!あなたの労働の成果を尊重してください
'
『Bingling Studio』─━╃→力強さで個性を創る
'
※作者:アイスクリーム剣士
* ウェブサイト: http://www.blbcn.com
'* 電子メール: [email protected]
'* QQ:68156987
'* 住所: 江蘇省無錫市
'************************************************ * ******************************
'
「著作権・盗作・流用は調査させていただきます」
'
'================================================ = ================================================ =
'--------変数を定義する
薄暗い
ディミップ
ディムタイムアウト
薄暗い×
薄暗い
dimdbpath
'--------変数の定義の終了
'----------推奨されるデータベースリンク
set conn=server.createobject(adodb.connection)
DBPath = Server.MapPath(zai.mdb)
conn.Open driver={Microsoft Access Driver (*.mdb)};dbq= & DBPath
'------データベースリンクの確立が完了しました
'----------新しいデータベース RS オブジェクトを作成します
set rs =server.createobject(adodb.recordset)
'----------データベース RS オブジェクトの作成が完了しました
'--------クライアントの IP アドレスを読み取ります
ip = Request.ServerVariables(HTTP_X_FORWARDED_FOR) '相手がプロキシ サーバーを使用してインターネットにアクセスする場合、相手がプロキシ サーバーを介してインターネットにアクセスしない場合は、Request.ServerVariables(HTTP_X_FORWARDED_FOR) を使用して相手の実際の IP を取得します。 、IP 値は空です。
If ip = then ip = Request.ServerVariables(REMOTE_ADDR) 'IP の値が空の場合は、ローカル クライアント アドレスを取得します
'------IPの読み取りが完了しました
'--------過去 20 分間にデータベースに追加された新しいコンテンツの数を読み取り、ip テーブルごとにグループ化する IP 値は 1 と同じです
sql=select ip from zai where time >= dateadd('n',-20,now()) ip でグループ化
rs.SQL、conn、1、1を開く
zai=rs.RecordCount
rs.閉じる
'----------オンライン人数を取得する
'----------データベースに同じ値がすでに存在するかどうかを確認します。存在しない場合は x=yes、存在しない場合は x=no
sql=select ip from zai where ip=' & ip & '
rs.SQL、conn、1、1を開く
rs.eof と rs.bof の場合
x=はい
それ以外
×=いいえ
終了する場合
rs.close
'----------判定完了
'----------データベースに同じ値がない場合は、新しい値を追加します
if x=yes then' そのような IP がない場合は、レコードを追加します
sql=上位 1 を選択 * zai から
rs.SQL、conn、1、3を開く
rs.AddNew
rs(ip)=ip
rs(時間)=今()
rs.アップデート
rs.close
else 'このIPがある場合、時間を現在時刻に変更します
sql=select * from zai where ip=' & ip & '
rs.SQL、conn、1、3を開く
rs(時間)=今()
rs.アップデート
rs.close
終了する場合
'----------結合完了と判断
'----------20分前に追加された値を削除します
タイムアウト = dateadd(n, -20, now())
sql=delete * from zai where time < # & timeout & #
conn.SQLを実行する
'----------削除が完了しました
'----------データオブジェクトを閉じます
rs=何も設定しない
接続閉じる
conn=何も設定しない
%>
document.write(合計 <%=zai%> 人がオンライン)
わかりました!
終わり!