一段关于"访问量的代码",希望大家能讨论一下!送70分!

wertyu 2004-11-26 08:30:59
首先说一下要实现怎么样的功能:
统计每天的访问量,一旦日子变了,数据库自动会增加一条记录,重新开始记录.前一天的记录保留,作为以后参考的数据.(防止刷新的,即在页面中刷新不会增加记录.只有关了IE,再打开记录才会增加)
这是小弟的代码:
set rs=server.CreateObject("adodb.recordset")
sql="select * from cjz_fwl where DATEDIFF(day,last1,getdate()) = 0 order by last1 desc"
rs.open sql,conn,1,3
if not rs.eof then
rs("counts")=application("call")
rs("counts")=rs("counts")+1
rs.Update
else
application("call")=0
rs.addnew
rs("counts")="0"
rs("last1")=date()
rs.update
rs.close
end if
注:call为自己在asa文件中定义的全局变量!
大家帮忙看看 有什么问题.
小弟在运行这段代码的几个星期里.统计的数量老出现异常..!
谢谢了!.在线等!
...全文
115 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyangxuan 2004-11-26
  • 打赏
  • 举报
回复
Application不可以防刷新,想防刷新就要用IP,但线定IP也不可以关闭IE在统计。有点烦。
古侠 2004-11-26
  • 打赏
  • 举报
回复
不好意思 写错了,应该是:

if not rs.eof then
rs("counts")=application("call")
rs("counts")=rs("counts")+1
rs.Update

这个中.rs("counts")=rs("counts")+1 是不是可以不要啊?
jnhfly 2004-11-26
  • 打赏
  • 举报
回复
可以用个session来存,既给此人一个标识,
if session("user")=""
then session("user")=1
Application.lock()
Application("count")=Application("count")+1
Application.Unlock()
end if

楼主试试看行不行

yqh1314 2004-11-26
  • 打赏
  • 举报
回复
可以 不要``````````
古侠 2004-11-26
  • 打赏
  • 举报
回复
if not rs.eof then
rs("counts")=application("call")
rs("counts")=rs("counts")+1
rs.Update

这个中.rs("counts")=application("call")是不是可以不要啊?
ygjwjj 2004-11-26
  • 打赏
  • 举报
回复
rs("counts")="0" ' 你这个COUNT字段是字符型啊.
.........
rs.update
......
rs("counts")=rs("counts")+1 '这个没有问题吗?当做字符+,如 1+1=11
古侠 2004-11-26
  • 打赏
  • 举报
回复
你的asa中的是不是这样写的?

sub session_onstart
application.lock()
application("call")=application("call")+1
application.unlock()
end sub
jiank 2004-11-26
  • 打赏
  • 举报
回复
这种统计当然不对了,APPLICATION是对整个网站而言的,是所有用户所公共有的变量。
对于这种统计,建议如下:

在GLOBAL.ASA中处理
Sub Session_OnStart()
Session.Timeout=30
Session("flag")=false
End Sub

在第一页上,设计统计程序:
数据库中你可以建立统计表,访问人数、日期,首先你判断SESSION("FLAG")是否为FALSE,是则查询数据库,是否有当天的记录,没有则添加新数据,访问人数加一,有的话就直接更新数据,并访问人数加一,之后再置session("flag")为true。否则就不对数据表操作。
hazen 2004-11-26
  • 打赏
  • 举报
回复
用application不能防刷新的
最好通过判断IP来实现刷新
古侠 2004-11-26
  • 打赏
  • 举报
回复
在ASA中加一句这样的语句, 你看行不行;

if Session.IsNewSession then
Application.lock()
Application("call")=Application("call")+1
Application.Unlock()
end if
iuhxq 2004-11-26
  • 打赏
  • 举报
回复
听说在application之前要lock,只后要unlock
oklhj 2004-11-26
  • 打赏
  • 举报
回复
接分

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧