真正实用的网页访问统计代码,不借助第三方网站!有图step by step!
最近要为自己架设的某简易视频网站增加访问次数统计功能。一般有两种实现方式对访问次数进行存储:数据库存储和普通文件存储。
这两种方式,对于简单网站我本来倾向于用.txt文件的方式,对于想统计功能更丰富则需要借助数据库,当然,仅仅做个访问统计的话,不需要MSSQLOracle等大作,accessmdb数据库即可。
这两种方法我百度和google几乎都搜遍了,不知是发表文章的是否很多符号被过滤了,还是作者疏忽,按照上面说的去做总试验不出效果。
我有点vb基础,对我的很多代码中的一种进行了更正和优化,优化后的代码屡试不爽,原封不动献给大家。(QQ:928610025,加请注明访问统计
第一步:新建ASP文档,vbs jsp的均可,我用的vbs的。(如图)
第二步:粘贴asp代码
我修改后的代码如下:
<% 
Set conn=Server.CreateObject("ADODB.Connection") 
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& Server.MapPath("count.asp") 
%> 
<%on error resume next%> 
<%sql="update count set hit=hit+1"%><%conn.Execute(sql)%> 
<%sql = "select * from count "
asp网站页面set ute(sql) 
%> 
<% 
'更新每周每日数据 
lasthit=rs("lasthit") 
tdate=year(Now()) & "-" & month(Now()) & "-" & day(Now()) 
if trim(lasthit)=trim(tdate) then 
sql="update count set dayhit=dayhit+1 where id=1"
conn.Execute(sql) 
  'response.write "success" 
else 
sql="update count set dayhit=1 where id=1"
conn.Execute(sql) 
  'response.write "error" 
end if 
sql="update count set lasthit='"&tdate&"' where ID=1" 
conn.Execute(sql)
p_year=CInt(year(Now()))-CInt(year(lasthit)) 
p_month=CInt(month(Now()))-CInt(month(lasthit)) 
p_day=CInt(day(Now()))-CInt(day(lasthit)) 
period_time=((p_year*12+p_month)*30+p_day) 
if cint(period_time)=<cint(7) then 
sql="update count set weekhit=weekhit+1 where id=1" 
conn.Execute(sql) 
else 
sql="update count set weekhit=1 where id=1" 
conn.Execute(sql) 
end if 
%> 
document.write('<tr><td width="100%">今日访问<%=rs("dayhit")%>,本周访问<%=rs("weekhit")%>,总访问<%=rs("hit")%></td></tr>'); 
<%rs.close 
conn.close
set rs=nothing
set conn=nothing%>
上面代码中的红字样其实是数据库,后面会讲到。
第三步:建立数据库,用office2003建立一个.mdb类型的文件
注意数据库各字段的格式,建立完以后,增加一条全零的记录,日期用“2009-10-22”类似的格式。保存好这个.mdb的数据库文件。
第四步:数据库改名。将.mdb后缀名改为.asp后缀名,这样别人即使知道你的数据库存放路径和数据库名,在地址栏中键入地址也下载不下来(即防下载)。
正如上文提到的,图中count.asp是数据库,yyb_count.asp是具有访问统计功能的asp网页。
其它的网页无论是动态的还是静态的,都可以在其源代码中引用yyb_count.asp。这一点马上就要讲到~~~
第五步:数据库权限设置(如果你试验多次不成功,就尤其要注意这里和下面的IIS权限设置)
IUSR_WWW开头的用户是来宾账户,要对它开相应的对数据库文件count.asp的操作权限。测试的话你给他完全控制权限甚至都可以,至于细节的那些权限可以不给,需要自己去琢磨或者逐项去试验了,我是如图选的权限。
第六步:IIS权限设置
第七步:建立index.html,我要用这个静态网页具有访问次数统计功能。
着重标出的是我添加的代码。其它代码全都是由dw自动生成的。
不要加在body里头,加载bodyhead之间。
由于有asp存在,不能在存储的地方直接双击网页测试,要在iis中建立虚拟目录。虚拟目录中放的就是我们建立的三个文件:
最后我们用浏览器访问一下,效果如下:
这个虚拟目录的全部代码我放到我的网站上供大家下载
进入我的博客最右边的链接中的四季如春站软件栏目下载