一个实用的FSO-实时统计在线人数

2016-01-29 17:47 7 1 收藏

一个实用的FSO-实时统计在线人数,一个实用的FSO-实时统计在线人数

【 tulaoshi.com - ASP 】

 

count.asp:

<%Server.ScriptTimeout=300
id=Trim(Request.QueryString("id"))
fc=Trim(Request.QueryString("fc"))
if fc="" then fc="FFFF00"
bg=Trim(Request.QueryString("bg"))
if bg="" then bg="000000"
bc=Trim(Request.QueryString("bc"))
if bc="" then bc="00FF00"
sername=Request.ServerVariables("SERVER_NAME")
scrname=Request.ServerVariables("SCRIPT_NAME")
linkurl="http://" & sername & scrname
%
<html
<head
<title实时统计在线人数</title
<META HTTP-EQUIV="Refresh" content="10; URL=<%=linkurl%"       '每隔10秒刷新
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
<style TYPE="text/css"
<!--
P {FONT-SIZE: 9pt; font-color: #eeeeee}
A {TEXT-DECORATION: none}
A:link {COLOR: #0068A3}
A:visited {COLOR: #0068A3}
A:hover {COLOR: #2f00ff; TEXT-DECORATION: underline}
.ourfont {font-size: 9pt }
BODY { FONT-SIZE: 9pt}
TABLE { FONT-SIZE: 9pt}
--
</style
</head
<%
countfile=server.mappath("people.asp")
Set fs=CreateObject("Scripting.FileSystemObject")
n=Year(date())
y=Month(date())
r=Day(date())
s=Hour(time())
f=Minute(time())
m=Second(time())
if len(y)=1 then y="0" & y
if len(r)=1 then r="0" & r
if len(s)=1 then s="0" & s
if len(f)=1 then f="0" & f
if len(m)=1 then m="0" & m
sj = n & "-" & y & "-" & r & " " & s & ":" & f & ":" & m
            '格式化日期、时间
dim ly()
Set thisfile=fs.OpenTextFile(countfile,1,False)
countly=0
do while not thisfile.AtEndOfStream
thisline = thisfile.readline
Redim preserve ly(countly)
ly(countly) = thisline
countly = countly + 1
loop                '将people.asp中内容读到数组中
thisfile.close
sameip=0
for i=1 to (countly-1)/2
if DateDiff("s",ly(i*2),sj)60 then
ly(i*2-1)=""
ly(i*2)=""
countly=countly-2
end if
if Request.ServerVariables("REMOTE_ADDR")=ly(i*2-1) then
sameip=1                 'IP已经存在
ly(i*2)=sj
end if
next
set outfile=fs.CreateTextFile(countfile)
for i=0 to countly-1
if ly(i)<"" then
outfile.WriteLine ly(i)
end if
next
if sameip=0 then
outfile.WriteLine Request.ServerVariables("REMOTE_ADDR")
outfile.WriteLine sj  '添加新记录
outfile.Close
end if
Set thisfile=fs.OpenTextFile(countfile,1,False)
countly=0
do while not thisfile.AtEndOfStream
thisline = thisfile.readline
Redim preserve ly(countly)
ly(countly) = thisline
countly = countly + 1
loop
thisfile.close
total=(countly-1)/2     '统计总人数
%
<body

<p<select name="Online" size="1"
 <option selected value="Online"<%=total%人在线上</option
<%
for i=1 to total
response.write "<option"&ly(i*2-1)&"</option"
next
%
</select</p
</body
</html

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

people.asp:

<%Response.end%
172.16.20.230'用户IP
2003-06-15 09:53:57'登录时间

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/) 

来源:http://www.tulaoshi.com/n/20160129/1502943.html

延伸阅读
标签: ASP
  <% 'count online user without using Global.asa 'script by Narong Khotarasakit 'webmaster of ezebox.com 'report bug : info@ezebox.com sessionID = session.SessionID timeout = 5 ' set how long to keep this session in minute you can increase this number Conn_String = "DRIVER={Microsoft Access Driver (*.m...
标签: Web开发
在浏览网页的时侯,常常可以看见一些当前网站上的人数是XXX人的在线人数同计。如何用ASP来做一个呢?首先,分析一下它的做法,一般来说,这些线上人数统计都是指一个时段内的访客人数统计。比如(5分钟内,10分钟内)而这个时间的长短,是由设计者设定的。 在这个时段内同计各个不同IP的访客总数,就可以得出当前的线上人数了,...
标签: ASP
  实现在线人数统计最常用的方法就是golobal.asa结合session做,但这种方法有两个不利: 1、每个session要占用12k的服务器内存空间,为了人数+1就要付出12k内存的代价。 2、golobal.asa要放在网站的根目录下才会起作用,而且根目录只能有一个golobal,矛盾突出。 为此,有一种使用cookie和application在asp文件中实现在线统计的方法,欢迎批...
标签: Web开发
% NowUrl=request.servervariables("HTTP_REFERER") UserName = session("Wenday_sys_User") if UserName="" then    UserName="客人" end if call sqlonline() Response.Write "document.write(" & chr(34) & "  font color=#000000当前在线 "& online() &"人/font"& chr(34) & ")" 'Response.Write "document.write(" & c...
标签: PHP
  可以实现在线人数统计,日访问量统计,月访问量统计。。。。。 <? $sql = "CREATE TABLE guestinfo(id integer DEFAULT '0' NOT NULL       AUTO_INCREMENT,                    &nbs...

经验教程

266

收藏

42
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部