<%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>