<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% startime=timer() %> 漫步统计系统 2004
简要数据 小时

系统/浏览器

地区 来源 来访者 维护

<% if door = 1 and Request.Cookies("Count")("login") <> "yes"then response.Redirect("login.asp?Message=必须登陆后方可浏览统计信息。") response.End() end if act = Request("act") if act = "" then act="main" Select Case act Case "admin" Call Sb_Admin() Case "main" Call Sb_Main() Case "hour" Call Sb_Hour() Case "day" Call Sb_Day() Case "month" Call Sb_Month() Case "osexp" Call Sb_OsExp() Case "where" Call Sb_Where() Case "referer" Call Sb_Referer() Case "last20" Call Sb_Last20() Case Else Response.Write("走错地方了...") Response.End End Select Dim vCount,endtime,startime Dim WebCountTime Dim vOnline Dim vYToday,vToday,vCDate,vAveCount,vYCount,vMCount Sub Sb_Admin() If request.ServerVariables("REQUEST_METHOD") = "POST" then WebName = Request("WebName") WebUrl = Request("WebUrl") WebEmail = Request("WebEmail") WebMaster = Request("WebMaster") WebExp = Fn_EnChar(Request("WebExp")) Exe = Request("exe") Select Case Exe Case "insert" vSql = "insert into WebInfo(WebName,WebUrl,WebEmail,WebMaster,WebExp,WebCountTime) values('"&WebName&"','"&WebUrl&"','"&WebEmail&"','"&WebMaster&"','"&WebExp&"',date())" Conn.execute vSql Num = Request("lastnum") if Num <> "" then if cInt(Num) <= 0 then Num = 1 Set Rs = GetRs("select * from Last20Vister") cha = cInt(Num) - Rs.recordcount if cha > 0 then Set aRs = UIRs("Last20Vister") for i = 1 to cha aRs.addnew next aRs.UpdateBatch aRs.close elseif cha < 0 then Set dRs = UIRs("select top "&abs(cha)&" * from Last20Vister order by cCT asc,id asc") for i = 1 to abs(cha) dRs.delete dRs.MoveNext next dRs.UpdateBatch dRs.close end if end if Response.write "

网站信息录入成功.返回

" Exe = "update" Case "update" vSql = "update WebInfo set WebName='"&WebName&"',WebUrl='"&WebUrl&"',WebEmail='"&WebEmail&"',WebMaster='"&WebMaster&"',WebExp='"&WebExp&"'" Conn.execute vSql WebExp = Fn_DeChar(WebExp) Num = Request("lastnum") if Num <> "" then if cInt(Num) = 0 then Num = 1 Set Rs = GetRs("select * from Last20Vister") cha = cInt(Num) - Rs.recordcount if cha > 0 then Set aRs = UIRs("Last20Vister") for i = 1 to cha aRs.addnew next aRs.UpdateBatch aRs.close elseif cha < 0 then Set dRs = UIRs("select top "&abs(cha)&" * from Last20Vister order by cCT asc,id asc") for i = 1 to abs(cha) dRs.delete dRs.MoveNext next dRs.UpdateBatch dRs.close end if end if Response.write "

网站信息维护成功.返回

" End Select else if Request.Cookies("Count")("login") <> "yes" then response.Redirect("./login.asp") else Set vRs = GetRs("select WebName,WebUrl,WebEmail,WebMaster,WebExp from WebInfo") if not vRs.eof then WebName = vRs("WebName") WebUrl = vRs("WebUrl") WebEmail = vRs("WebEmail") WebMaster = vRs("WebMaster") WebExp = Fn_DeChar(vRs("WebExp")) Exe = "update" else Exe = "insert" end if vRs.close:Set vRs=nothing end if end if %>
简要数据 退出维护

网站名称: 网站地址:
网站管理员: 网站信箱:
最后来访者信息条数: * 如果没有需要请不要经常更改数值,默认为20条,如果不修改则留空
网站介绍:
压缩数据库: 主数据库 浏览者临时库
  * 请完整的填写以上内容,提交后网站计数器开始生效.



<%End Sub%>

<% '程序开始 Sub Sb_Main() '取得基本资料 vSql = "select WebName,WebUrl,WebExp,WebEmail,WebMaster,WebCountTime from webinfo" Set vRs = GetRs(vsql) if Not vRs.Eof then WebName = vRs("WebName") WebUrl = vRs("WebUrl") WebExp = vRs("WebExp") WebEmail = vRs("WebEmail") WebMaster = vRs("WebMaster") WebCountTime = vRs("WebCountTime") else Response.Redirect("index.asp?act=admin") end if vRs.close '统计总人数 vSql = "select Sum(cCMC) as vCount from cM" Set vRs = GetRs(vsql) vCount=vRs("vCount") vRs.Close '统计今日访问量和计算今日访问量预测 vCha = Now()-Date() vSql = "select cTDC from cD where cDay ="&day(date()) Set vRs = GetRs(vSql) vToday = vRs("cTDC") vYToday = Round(vToday/vCha *(1-vCha) + vToday) vRs.close '统计天数和平均日访问量 vCDate = date()-cDate(WebCountTime) if vCDate=0 then vAveCount = 0 else vAveCount = Round((vCount-vToday)/vCDate) End IF '年访问量和月访问量 vSql = "select cTMC from cM where cMonth="&Month(Now())&"" Set vRs = GetRs(vSql) vMCount = vRs("cTMC") vRs.close vsql = "select refurbish from flux where id=1" set vRs = GetRs(vsql) vref = vRs("refurbish") vRs.close if vflux > 1024 then vflux = cStr(FormatNumber(vflux / 1024,0,-1,-1)) & " K" else vflux = cStr(vflux) & " 字节" end if str = "
网站名称:"&WebName&"网站地址:"&WebUrl&"
网站管理员:"&WebMaster&"网站信箱:"&WebEmail&"
网站介绍:"&WebExp&"

总访问人数:"&vCount&"开始统计日期:"&WebCountTime&"
今日访问量:"&vToday&"本月访问量:"&vMCount&"
统计天数:"&vCDate&"平均日访问量:"&vAveCount&"
整站页面刷新:"&vref&"预计本日访问量:"&vYToday&"
" Call DrawTable("网站统计简要信息",str) %>

<% End Sub Dim aHour Dim MaxHour Dim sImage Dim SAimage Sub Sb_Hour() '取的当前小时数 vHour = hour(now()) '循环取最近24小时的访问人数 Conn.execute "update cH set cTHC=0,HMD=now() where DATEDIFF('h',HMD,Now()) > 23 " MaxHour = 0 vSql = "select cH.cHour,cH.cTHC,MaxNum.MaxCount from cH,(select Max(cTHC) as MaxCount from cH) as MaxNum order by cH.cHour asc" Set vRs = GetRs (vSql) Dim aHour(23) for i=0 to ubound(aHour) aHour(i) = vRs("cTHC") MaxHour = vRs("MaxCount") vRs.MoveNext next '算出图例最大值的比例 if MaxHour = 0 then MaxHour = 1 vPoint = 100/MaxHour k=0 avgcount=0 sImage = "
最近24小时统计图表
" for vPH = vHour+1 to 23 k = k+1 sHeight = aHour(vPH)*vPoint avgcount = avgcount + aHour(vPH) avgheight = (avgcount/k)*vPoint sImage = sImage & "" next for vBH = 0 to vHour k = k+1 sHeight = aHour(vBH)*vPoint avgcount = avgcount + aHour(vBH) avgheight = (avgcount/k)*vPoint sImage = sImage & "" next sImage = sImage & "
"&MaxHour&"
"&MaxHour*0.75&"
"&MaxHour*0.5&"
"&MaxHour*0.25&"

"&vPH&"

"&vBH&"
单位(点)
" '取出所有24小四的统计图表 vSql = "select cH.cHour,cH.cCHC,MaxNum.MaxCount from cH,(select Max(cCHC) as MaxCount from cH) as MaxNum order by cH.cHour asc" Set vRs = GetRs(vSql) MaxHour = 0 for i=0 to ubound(aHour) aHour(i) = vRs("cCHC") MaxHour = vRs("MaxCount") vRs.MoveNext next '算出图例最大值的比例 if MaxHour = 0 then MaxHour = 1 vPoint = 100/MaxHour sImage = sImage & "
访问量24小时分配图表
" for vL = 0 to 23 sHeight = aHour(vL)*vPoint sImage = sImage & "" next sImage = sImage & "
"&MaxHour&"
"&MaxHour*0.75&"
"&MaxHour*0.5&"
"&MaxHour*0.25&"

"&vL&"
单位(点)
" Erase aHour '释放掉数组 Call DrawTable("24小时统计信息",sImage) %>

<% End Sub Dim sADImage,sDImage Sub Sb_day() vDay = day(now()) '循环取最近24小时的访问人数 MaxCDay = 0 MaxDay = Fn_MaxDay(Month(DateAdd("m",-1,now()))) Conn.execute "update cD set cTDC=0,DMD=now() where DATEDIFF('d',DMD,Now()) > "&MaxDay Dim aDay(31) vSql = "select cD.cDay,cD.cTDC,MaxNum.MaxCount from cD,(select Max(cTDC) as MaxCount from cD) as MaxNum order by cD.cDay asc" Set vRs = GetRs(vSql) for i=1 to Ubound(aDay) aDay(i) = vRs("cTDC") MaxCDay = vRs("MaxCount") vRs.MoveNext if vRs.eof then exit for next '算出图例最大值的比例 if MaxCDay = 0 then MaxCDay = 1 vPoint = 100/MaxCDay k=0 avgcount=0 sDImage = "
最近30天统计图表
" for vL = vDay+1 to MaxDay k=k+1 sHeight = aDay(vL)*vPoint avgcount = avgcount + aDay(vL) avgheight = (avgcount/k)*vPoint sDImage = sDImage & "" next for vL = 1 to vDay k=k+1 sHeight = aDay(vL)*vPoint avgcount = avgcount + aDay(vL) avgheight = (avgcount/k)*vPoint sDImage = sDImage & "" next sDImage = sDImage & "
"&MaxCDay&"
"&MaxCDay*0.75&"
"&MaxCDay*0.5&"
"&MaxCDay*0.25&"

"&vL&"

"&vL&"
" '取出所有24小四的统计图表 MaxDay = Fn_MaxDay(Month(Now()))-1 MaxCDay = 0 vSql = "select cD.cDay,cD.cCDC,MaxNum.MaxCount from cD,(select Max(cCDC) as MaxCount from cD) as MaxNum order by cD.cDay asc" Set vRs = GetRs(vSql) for i=1 to Ubound(aDay) aDay(i) = vRs("cCDC") MaxCDay = vRs("MaxCount") vRs.MoveNext if vRs.eof then exit for next vRs.close '算出图例最大值的比例 if MaxCDay = 0 then MaxCDay = 1 vPoint = 100/MaxCDay sDImage = sDImage & "
访问量各天分配图表
" for vL = 1 to 31 sHeight = aDay(vL)*vPoint sDImage = sDImage & "" next sDImage = sDImage & "
"&MaxCDay&"
"&MaxCDay*0.75&"
"&MaxCDay*0.5&"
"&MaxCDay*0.25&"

"&vL&"
" Erase aDay Call DrawTable("按日统计信息",sDimage) %>

<% End Sub Dim sMImage,sAMImage Sub Sb_Month() '取的当前小时数 vMonth = Month(now()) Conn.execute "update cM set cTMC=0,MMD=now() where DATEDIFF('m',MMD,Now()) > 11 " Dim aMonth(12) MaxMonth = 0 '循环取最近24小时的访问人数 vSql = "select cM.cMonth,cM.cTMC,MaxNum.MaxCount from cM,(select Max(cTMC) as MaxCount from cM) as MaxNum order by cM.cMonth asc" Set vRs = GetRs(vSql) for vS=1 to 12 aMonth(vS) = vRs("cTMC") MaxMonth = vRs("MaxCount") vRs.MoveNext next vRs.close '算出图例最大值的比例 if MaxMonth = 0 then MaxMonth = 1 vPoint = 100/MaxMonth sMImage = "
最近12个月统计图表
" for vL = vMonth+1 to 12 sHeight = aMonth(vL)*vPoint sMImage = sMImage & "" next for vL = 1 to vMonth sHeight = aMonth(vL)*vPoint sMImage = sMImage & "" next sMImage = sMImage & "
"&MaxMonth&"
"&MaxMonth*0.75&"
"&MaxMonth*0.5&"
"&MaxMonth*0.25&"

"&vL&"

"&vL&"
单位(月)
" '取出所有24小四的统计图表 sMonth = "" MaxMonth = 0 vSql = "select cM.cMonth,cM.cCMC,MaxNum.MaxCount from cM,(select Max(cCMC) as MaxCount from cM) as MaxNum order by cM.cMonth asc" Set vRs = GetRs(vSql) for vS=1 to Ubound(aMonth) aMonth(vS) = vRs("cCMC") MaxMonth = vRs("MaxCount") vRs.MoveNext next vRs.close '算出图例最大值的比例 if MaxMonth = 0 then MaxMonth = 1 vPoint = 100/MaxMonth sMImage = sMImage & "
访问量12个月分配图表
" for vL = 1 to 12 sHeight = aMonth(vL)*vPoint sMImage = sMImage & "" next sMImage = sMImage & "
"&MaxMonth&"
"&MaxMonth*0.75&"
"&MaxMonth*0.5&"
"&MaxMonth*0.25&"

"&vL&"
单位(月)
" '年份~ Call DrawTable("按月统计信息",sMimage) %>

<% End Sub Dim sOsImage,sExpImage,sScrImage Sub Sb_OSExp() MaxValue = 0 '系统 oSql = "select cO.cOS,cO.cCOC,MaxNum.MaxCount from cO,(select Max(cCOC) as MaxCount from cO) as MaxNum order by cO.cCOC desc" Set oRs = GetRs(oSql) dim aOS(6,1) for i=0 to 6 aOS(i,0) = oRs("cOS") aOS(i,1) = oRs("cCOC") MaxValue = oRs("MaxCount") oRs.MoveNext next oRs.close if MaxValue = 0 then MaxValue = 1 vPoint = 150/MaxValue sImage = "
系统统计图表浏览器统计图表
" for vL = 0 to 6 sHeight = aOs(vL,1)*vPoint sImage = sImage & "" next sImage = sImage & "
"&aOs(vL,0)&""&aOs(vL,1)&"
" '浏览器 oSql = "select cE.cExplorer,cE.cCEC,MaxNum.MaxCount from cE,(select Max(cCEC) as MaxCount from cE) as MaxNum order by cE.cCEC desc" Set oRs = GetRs(oSql) '' dim aExp(6,1) for i=0 to 6 aExp(i,0) = oRs("cExplorer") aExp(i,1) = oRs("cCEC") MaxValue = oRs("MaxCount") oRs.Movenext next if MaxValue = 0 then MaxValue = 1 vPoint = 150/MaxValue sImage = sImage & "" for vL = 0 to 6 sHeight = aExp(vL,1)*vPoint sImage = sImage & "" next sImage = sImage & "
"&aExp(vL,0)&""&aExp(vL,1)&"
" call DrawTable("按操作系统和浏览器统计",sImage) %>

<% End Sub Dim sWhereImage Sub Sb_Where() MaxValue = 0 oSql = "select cW.cWhere,cW.cCWC,MaxNum.MaxCount from cW,(select Max(cCWC) as MaxCount from cW) as MaxNum order by cW.cCWC desc" vI = cLng(request("AbsolutePage")) if vI <= 0 then vI=1 Set oRs = GetRs(oSql) if not oRs.eof then oRs.Pagesize = 20 Dim aWhere(19,1) vPageCount = oRs.PageCount oRs.AbsolutePage = vI For vJ = 1 to oRs.PageSize aWhere(vJ-1,0) = oRs("cWhere") aWhere(vJ-1,1) = oRs("cCWC") MaxValue = oRs("MaxCount") oRs.MoveNext if oRs.eof then exit for next page = PageSplit(vI,vPageCount,"where") oRs.close else page = "暂无数据" exit sub end if if MaxValue = 0 then MaxValue = 1 vPoint = 150/MaxValue sWhereImage = "
访问者统计图表
" for vL = 0 to 19 sHeight = aWhere(vL,1)*vPoint if sHeight=0 then exit for sWhereImage = sWhereImage & "" next sWhereImage = sWhereImage & "
"&aWhere(vL,0)&""&aWhere(vL,1)&"

" sWhereImage = sWhereImage & page & "
" call DrawTable("访问者地区统计",sWhereImage) %>

<% end Sub Dim sReImage Sub Sb_Referer() MaxValue = 0 oSql = "select cR.cReferer,cR.cCRC,MaxNum.MaxCount from cR,(select Max(cCRC) as MaxCount from cR) as MaxNum order by cR.cCRC desc" vI = cLng(request("AbsolutePage")) if vI <= 0 then vI=1 Set oRs = GetRs(oSql) if not oRs.eof then oRs.Pagesize = 20 Dim aWhere(19,1) vPageCount = oRs.PageCount oRs.AbsolutePage = vI For vJ = 1 to oRs.PageSize aWhere(vJ-1,0) = oRs("cReferer") aWhere(vJ-1,1) = oRs("cCRC") MaxValue = oRs("MaxCount") oRs.MoveNext if oRs.eof then exit for next page = PageSplit(vI,vPageCount,"referer") oRs.close else page = "暂无数据" exit sub end if if MaxValue = 0 then MaxValue = 1 vPoint = 150/MaxValue sReImage = "
访问者来源统计图表
" for vL = 0 to 19 sHeight = aWhere(vL,1)*vPoint if sHeight=0 then exit for sReImage = sReImage & "" next sReImage = sReImage & "
"&Mid(aWhere(vL,0),1,27)&""&aWhere(vL,1)&"

" sReImage = sReImage & page & "
" call DrawTable("访问者来源统计",sReImage) %>

<% end Sub Dim ShowMess Sub Sb_Last20() vSql = "select * from Last20Vister order by cCT desc,id asc" Set vRs = GetRs(vSql) if not vRs.eof then ShowImage(vRs) else ShowMess = "暂无数据" end if vRs.close Call DrawTable("最后来访者信息",ShowMess) End Sub Sub ShowImage(Rs) ShowMess = ShowMess & ""&chr(13) for i = 1 to Rs.recordcount if IsNull(Rs("cCT")) then exit for ShowMess = ShowMess & ""&chr(13) Rs.Movenext next ShowMess = ShowMess & "
时间操作系统浏览器地区IP地址来源
"&month(Rs("cCT"))&"-"&day(Rs("cCT"))&" "&formatdatetime(Rs("cCT"),4)&""&Rs("cCOS")&""&Rs("cCEXP")&""&Rs("cCW")&""&Rs("cCIP")&""&Mid(Rs("cCR"),1,24)&"..
" end sub %>

<% Function Fn_MaxDay(Mon) Mon = cstr(Mon) Select Case Mon Case "1","3","5","7","8","10","12" Fn_MaxDay = 31 Case "4","6","9","11" Fn_Maxday = 30 Case "2" if year(Now()) mod 4 = 0 then Fn_Maxday = 29 else Fn_Maxday = 28 end if end Select End Function%> <% Sub DrawTable(title,str) %>
<%=title%>

<%=str%>


<% end Sub %>

2004 © Szcw.Net,2004-2005 <% endtime=timer() response.write "页面执行时间:"&FormatNumber((endtime-startime)*1000,3)&"毫秒"%>