白痴的我这样统计网站流量行不行?

fczwdyq 2009-08-08 02:21:40
百度了下统计网站流量,说的我都看不懂,突发奇想写了这么几条代码,如下:
<%
set rsip=server.CreateObject("Adodb.recordset")
sql="select * from webcount"
rsip.open sql,conn,1,3
Application("ClickNums")=rsip("Hits")
Application.Lock()
Application("ClickNums")=Application("ClickNums")+1
Application.UnLock()
%>
<%
rsip.addnew
rsip("Hits")=Application("ClickNums")
rsip("ipaddress")=Ip_address
rsip("logindate")=now()
rsip.update
%>
<li>  访问量:<%=rsip("Hits")%>
<%
rsip.close
set rsip=nothing%></li>
我自己觉得没啥问题,但是刷新了45次网页之后,Hits的数字就定格在45,不在向上加了,请教各位大侠,我该怎么写统计网站访问量的代码呢?这样写行不行?人家没偷懒要现成的哈,人家很努力
...全文
47 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gnqtyawgah 2009-08-09
rsip.open sql,conn,1,3 //行零
Application("ClickNums")=rsip("Hits") //行一
Application.Lock() //行二
Application("ClickNums")=Application("ClickNums")+1 //行三
Application.UnLock() //行五
。。。。。。
rsip("Hits")=Application("ClickNums") //行六
行零、行一的代码应调到行二与行三间,行六代码应调整到行三与行五之间,如果有两个人同时访问你的网站,网站目前的点击100,那可能两个取到的rsip("Hits") 值都是100,那么第一个人把100+1 存入数据库了之后,第二个人又把他取到的100+1存入数据库,两个人点击之后数据库的结果只有101,访问量少算了一点,所以有关对全局变量 的操作都应放在全居变量的Lock与UnLock之间,以保证一个用户在修改其值时其它用户不会存取错误的信息,我是搞VC的,写个几个B\S的软件,这样的解释希望对你有所帮助,你遇到的问题可能由锁定不当造成
回复
andrewsway 2009-08-09
你直接找个别人提供的服务部得了,cnzz和雅虎都不错
回复
poiuy343 2009-08-08
防止万一有一群人同时刷新页面 Application 就不知道怎么加了。加上lock 就说明当一个人使用的他来加的时候 其他人就不能用他来加了 当加完以后解锁 才可以让别人加

还有就是,你这样做 不判断IP的话 就有可能我一个人刷100000下 然后你的数据库就记录这么多下,

访问量一旦搞了,或者有人恶作剧,你的网站都受不了的。

建议你判断一下IP再决定把数据加不加进数据库
回复
lzp4881 2009-08-08
lock和unlock是锁定和解锁
回复
lzp4881 2009-08-08
不多余,这样才能保证数值的准确性,因为Application锁定的时候别人就操作不了,如果不用Application,很容易造成两人同时对一个数据进行修改。
回复
fczwdyq 2009-08-08
我感觉Application这个东东有点多余,但是视频教程上用的这个,不知道有啥用...我把Application去掉了,要是有许多人一起访问网站,会不会卡死?听说这个lock和unlock就是防止卡死的
回复
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2009-08-08 02:21
社区公告
暂无公告