注册 登录
编程论坛 ASP技术论坛

页面刷新问题

xiaoyangyjs 发布于 2008-02-21 20:42, 1727 次点击
我做了一个网页计数器,可是有一个毛病,就是你每刷新一次,他就自动加一,请问各位朋友,如何才能不出现这样的情况呢???帮忙解决一下,谢谢!!!
7 回复
#2
xiaoyangyjs2008-02-22 19:39
晕啊,怎么没有人帮忙啊,各位大侠吗,帮帮忙好吗??小弟感激不尽!!!
#3
yms1232008-02-22 19:59
网页访问统计一般有2种形式,一是向楼主那样的每刷新一次自动+1,另一种就是纪录IP的统计方式,获得客户端IP地址后,查询数据库是否存在这个IP,存在则不加1,不存在则将当前IP存储入数据库后加1。
#4
xiaohonghui02008-04-24 17:03
[bo]以下是引用 [un]yms123[/un] 在 2008-2-22 19:59 的发言:[/bo]

网页访问统计一般有2种形式,一是向楼主那样的每刷新一次自动+1,另一种就是纪录IP的统计方式,获得客户端IP地址后,查询数据库是否存在这个IP,存在则不加1,不存在则将当前IP存储入数据库后加1。 ...


你说的第二种,如果是针对公司,那他们访问记录的ip都是同一个,这样启不是有问题?
#5
xiaohonghui02008-04-24 17:05
对了,可以告诉楼主,取得ip的代码是:
<%if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then
 ipdress=Request.ServerVariables("REMOTE_ADDR")
 else
 ipdress=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
 end if
response.Write  ipdress
 %>
#6
xiaohonghui02008-04-25 11:44
这是我写的代码,看看:
<!--#include file="conn.asp"-->
<%
today1=year(now())&"-"&month(now())&"-"&day(now())
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")  end if
if request.Cookies("ipdress")="" then
      set rs= server.CreateObject("adodb.recordset")
      rs.open "select * from count1 where  date1='"&today1&"'",myconn,1,3
      if rs.eof  then
            rs.addnew
            rs("date1")=today1
            response.Write("ddsfds")
            rs.update
      else
            a=int(rs("count1"))+1
            myconn.execute "update count1 set count1='"&a&"' where date1='"&today1&"' "
            myconn.close
            response.Write(a)
      end if
      response.Cookies("ipdress")=userip
end if  
 %>
#7
zslj2008-04-28 22:08
我遇到同样问题的解决办法
原理就是计数器累加前做一个判断,计数器累加后再写一个session ,如果再次刷新时这个判断将返回一个“真”。
session的名称和值你可以自定。其结果是只要不关闭浏览器,将无法进行刷新计数。

if session("LenFengin")<>"BlogLogin" then     ’先判读session,当然此时session是空
cnt=cnt+1        '计数器访问量+1 (这是你的计数器.ASP的相应语句)
end if    '判断结束
...
session("LenFengin")="BlogLogin"     '此时再记session(刷新也无用了,除非关闭浏览器后再次打开页面)

只需在计数器.ASP中添加红色代码即可实现。可以看看我改变代码后的效果:http://www1.

[[it] 本帖最后由 zslj 于 2008-4-29 03:07 编辑 [/it]]
1