asp利用Session防止用户重复投票

时间:2009-03-25    点击:1919   

<%Option Explicit%>


<%

Sub InitializeFID()
    If Not IsObject(Session("FIDList")) Then
        Set Session("FIDList")=Server.CreateObject("Scripting.Dictionary")
        Session("FID")=0
    End If
End Sub

Function GenerateFID()
    InitializeFID
    Session("FID") = Session("FID") + 1
    GenerateFID = Session("FID")
End Function

Sub RegisterFID()
    Dim strFID
    InitializeFID
    strFID = Request("FID")
    Session("FIDlist").Add strFID, now()
End Sub

Function CheckFID()
    Dim strFID
    InitializeFID
    strFID = Request("FID")
    CheckFID = not Session("FIDlist").Exists(strFID)
End Function

%>


<% Sub GenerateForm() %>
<form action="<%=Request.ServerVariables("PATH_INFO")%>" method=GET>
<input type=hidden name=FID value="<%=GenerateFID()%>">
<input type=text name="param1" value="">
<input type=submit value="确定">
</form>
<% End Sub %> 
<%
Sub ProcessForm()
    If CheckFID() Then
        Response.Write "您输入的内容是" & Request.QueryString("param1")
Response.Write "<input type=submit value='返回' onclick='self.history.go(-1)'> "
        RegisterFID
    Else
        Response.Write "噢,您已经提交过一次了!"
    End If
End Sub
%>
<HTML>
<HEAD>
<TITLE>如何限制重复订阅邮件或投票</TITLE>
</HEAD>
<BODY>
<%
If Request("FID") = "" Then
    GenerateForm()
Else
    ProcessForm
End If
%>
</BODY>
</HTML>

实现VBScript和JavaScript的数据共享(VBScript to JavaScript)
实现VBScript和JavaScript的数据共享(Server to Client)
创建VBScript编码模板
asp创建和获取Application级的对象及变量
asp创建和获取Session级的对象及变量
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 All Rights Reserved