请先登录 | 注册
MYCSG.CN
[原创]BBSXP 5.x 仅添加两个字段实现当日IP访问精确统计,细录每个IP - 文章首页返回版区
■标题:[原创]BBSXP 5.x 仅添加两个字段实现当日IP访问精确统计,细录每个IP
■作者:IPSC [2006/2/24 11:17:41]

BBSXP 5.x 仅添加两个字段实现当日IP访问精确统计,细录每个IP

     这是我给一些站点收费制作的功能之一,共享出来,现在写程序越来越注重效率,以及减轻对BBSXP的影响,本代码虽然放在SETUP。ASP,每个页面都会读取,照理每次打开任何页面都会执行,但里面第一步就能过一个COOKIES进行判断,所以能做到对于每个用户,无论打开多少页面,只会执行一次,效率高。现在只是记录每个IP以及显示统计,如果您有兴趣,可以用它继续开发,比如把每天的记录保存在一个自动编号的表里,用曲线显示每天的访问量曲线,也就知道当天什么时间的访问人数最多了;这个如果我有时间可能什么弄,没时间就只好把创意留给您了。由于记录了每个不同的IP地址,所以它的统计是精确的。下面的方法是针对BBSXP 5.x的

请用我的升级文件生成器(http://www.diybbsxp.com/tool)生成一个ASP文件,在clubconfig表里加一个数字字段EvryDayIPcount(设置值为0)和备注字段 EvryDayIP ,上传升级文件到服务器并运行它,生成这两个字段。
现成的文件有: http://www.diybbsxp.com/dksoft/soft11/up_evrydayip.zip

然后打开setup.asp,找到 sub htmlend 并在下面新起一行添加如下代码段:

'######## DK 统计网站访问量精确统计插件 代码 IPSC
if request.cookies("evrydayiptime")=empty or request.cookies("evrydayiptime")<>""&date&"" then
if request.servervariables("remote_addr")<>empty and len(request.servervariables("remote_addr"))>3 and instr("|"&conn.execute("select EvryDayIP from [clubconfig]")(0)&"|","|"&request.servervariables("remote_addr")&"|")=0 then
dim EvryDayIP,EvryDayIPcount
if day(conn.execute("select top 1 lasttime from [online] order by lasttime desc")(0))<>day(date) then
EvryDayIPcount=1
EvryDayIP=request.servervariables("remote_addr")
else
EvryDayIPcount=conn.execute("select EvryDayIPcount from [clubconfig]")(0)+1
EvryDayIP=conn.execute("select EvryDayIP from [clubconfig]")(0)&"|"&request.servervariables("remote_addr")
end if
conn.execute("update [clubconfig] set EvryDayIP='"&EvryDayIP&"',EvryDayIPcount="&EvryDayIPcount&"")
response.cookies("evrydayiptime")=""&date&""
end if
end if
'########## END CODE

然后往下一点找到Script Execution Time:<%=fix((timer()-startime)*1000)%>ms 空一格加下如下代码
今天访问量:<%=conn.execute("select EvryDayIPcount from [clubconfig]")(0)%>



回复/版区/上篇/下篇/发贴/仅文字/HTML
【倒序/最近21条回复】(暂无)
(查看完整版网页)



短讯|首页|登录|算法|电脑版 .
DK MiniBBS Plus v2.0
mm0759.com
95 毫秒 .