中易网

asp投票次数限制代码

答案:2  悬赏:40  
解决时间 2021-04-27 14:04
  • 提问者网友:霸气大叔
  • 2021-04-27 04:47

<td width="106" align="center" valign="top"><table width="71" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="71" height="60" background="Images/scc.gif" style="color:#FFFFFF;font-size:15px;font-weight:bold;"><div align="center"><%=Rs("digno")%> ℃</div></td>
            </tr>
        </table>
          <table width="74%" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td align="center"><a href="javascript:Is_Dig(<%=Rs("Id")%>);">喜欢就加热它!</a></td>
            </tr>
          </table></td>

 

 

这是源代码 ,如何修改能使其实现每个IP只能点一次加热这个功能呢,请把修改好的源码写上,谢谢

最佳答案
  • 二级知识专家网友:颜值超标
  • 2021-04-27 05:20

这需要在数据库表中加入IP记录的数据表.


你需要在你代码中加入如下ASP代码,并在数据库中建立相对应的数据表


conn.execute("delete from IP where datediff('d',time,now())>=1")


'删除数据库中超过一天的IP地址记录(设置为一个IP一天只能投一次票)
  fIP=Request.ServerVariables("Remote_Addr")


'获得用户登陆的IP地址
  Set rs=Server.CreateObject("ADODB.RecordSet")
  rs.open "Select * from IP where sid="&sid&" and ip='"&fIP&"'",conn,1,3


'获取数据库中sid列的值为sid,ip列的值为flp的记录,并保存在rs中
  If not(rs.eof and rs.bof) Then
   Response.Write "<script>alert('你已经投过票了!');window.close()</script>"


'如果有相等的,即IP和数据库里的IP相同,则显示已经投过票了
   Response.End
  Else     '否则,将当前用户信息存入数据库
   rs.addnew   


   rs("sid")=sid 
   rs("ip")=fIP
   rs("time")=now()
   rs.update
  End If
  rs.close
  Set rs=nothing


下面再加上你的计算投票的代码即可

全部回答
  • 1楼网友:年轻没有失败
  • 2021-04-27 06:37
这块是源码的很少一部分,在函数 is_Dig()中查看页面的转向,然后在转向的页面中找到 asp程序(进行数据更新的),加入ip判断(前提是必须在该表中有ip项)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息