我爱Aspx >> Asp.Net >> 在ASP应用程序中限制重复提交同一表单CheckFID = not Session("FIDlist").Exists(strFID)
End Function
二、如何使用有两个地方要用到上述函数,即表单生成时与结果处理时。假设上述四个子程序已经放入包含文件Forms.inc中,下面的代码根据FID值来决定生成表单还是处理表单结果,它所描述的处理过程适合于大多数ASP应用:
< !--#include file="forms.inc"-->
< HTML>
< HEAD>
< TITLE>表单提交测试< /TITLE>
< /HEAD
< BODY>
< %
If Request("FID") = "" Then
GenerateForm
Else
ProcessForm
End If
%>
< /BODY>
< /HTML>
GenerateForm负责生成表单,表单中应该含有一个隐藏的FID,如:
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="OK">
< /form>
< %
End Sub
%>
ProcessForm负责处理通过表单提交的内容,但在处理之前应该先调用CheckFID()检查当前表单是否已经提交,代码类如:
Sub ProcessForm()
If CheckFID() Then
Response.Write "你输入的内容是" & Request.QueryString("param1")
RegisterFID
Else
Response.Write "此表单只能提交一次!"
End If
End Sub
%>
上面我们介绍了在当前会话期间限制同一表单被多次提交的一种方法。在实际应用中可能需要从多方面加以改进,例如:
⑴ 在登记表单ID之前检查用户输入数据的合法性,使得数据不合法时用户可以按“后退”按钮返回,在修正后再次提交同一表单。
⑵ 这种对表单提交的限制最多只能在当前会话期间有效。如果要求这种限制能够跨越多个会话,那么就要用到Cookeis或数据库来保存相关数据了。
上一篇: 在ASP应用程序中加入智能搜索
下一篇: 如何利用ASP实现邮箱访问
Ҷƪл˵?
ASP程序中提供在线文章翻译功能[05-15]
ASP编程经典例子[05-15]
ASP木马Webshell安全解决办案[05-15]
ASP实用技巧:强制刷新和判断文件..[05-15]
用ASP编程实现网络内容快速查找[05-15]
用ASP编写下载网页中所有资源的程..[05-15]
ASP程序性能测试报告[05-15]
Web服务器上防范基于ASP程序的木..[05-15]
利用ASP木马程序获取管理权限[05-15]
一个ASP木马程序的源代码[05-15]
ASP程序中提供在线文章翻译功能[05-15]
ASP编程经典例子[05-15]
由神秘到简单 教你在网页中添加微..[05-15]
ASP木马Webshell安全解决办案[05-15]
ASP实用技巧:强制刷新和判断文件..[05-15]
IIS HTTP500内部错误解决办法[05-15]
用ASP编程实现网络内容快速查找[05-15]
用ASP编写下载网页中所有资源的程..[05-15]
ASP程序性能测试报告[05-15]
用ISAPIfilter使INC、ASA文件安全[05-15]