求一个IP24小时点击只算一次的代码
各位大侠,我刚来这,听说这不错!求一个IP24小时点击只增加一的代码,谢谢啊!
------解决方案--------------------表里有IP time字段
第一次时先检测是否有这个IP,如果没有就增加新记录
如果有,就检测time字段的值和现在的值是否相差24小时
------解决方案--------------------对,数据库表里放个字段存放某IP最后一次有效点击的时间,用来与当前点击时间判断
------解决方案--------------------if request.Cookies( "hits ") <> "yes " then '如果这个cookies的值不等于yes
将点击记录下来
然后接着
response.Cookies( "hits ")= "yes "
end if
这个方式很容易实现,你只需将Cookies的有效时间设置成24小时即可。不过用户只需要cookies清除了这个判断就无效了。最好的方式是将用户IP记录到数据库里,然后用户进行点击的时候判断数据库里的IP。不过这样的方式对数据库开销比较大……其他更好的方式,我暂时不知道了……
------解决方案-------------------- <%
userip=Request.ServerVariables( "REMOTE_ADDR ")
set Rs=server.createobject( "adodb.recordset ")
SQL= "select * from table where ip= ' "&userip& " ' "
Rs.open SQL,conn,1,3
if rs.eof then
rs.addnew
rs( "ip ")=userip
rs( "time ")=now()
rs( "hits ")=1
rs.update
rs.close
set rs=nothing
else
if now-rs( "time ")> 24 then
rs( "ip ")=userip
rs( "time ")=now
rs( "hits ")=rs( "hits ")+1
rs.update
...
------解决方案--------------------IP=trim(Request.ServerVariables( "REMOTE_ADDR "))
sql1= "select * from user_ip where (user_ip like ' "& IP & "% ') AND (DATEDIFF(hh,ip_time,GETDATE()) <=24) "
rs.open sql1,conn,1,1
if rs.eof then
想做的事,
else
没有点击,或者点击时间在24小时以内,在判断一次不就可以吗?
end if
------解决方案--------------------if not rs.eof then
少了一个not
------解决方案--------------------lin19850711() ( )
如果访问量多,我不是要存储很多嘛
这位兄弟如果不记录IP地址又该如何来判断是不是24小时内呢?你没有IP可以吗?呵呵...