网络编程
位置:首页>> 网络编程>> Asp编程>> asp解决防止表单重复提交的方法

asp解决防止表单重复提交的方法

  发布时间:2007-10-19 18:40:00 

标签:重复,重复提交,表单

asp之家注:防止表单重复提交的方法,在客户端其实很容易实现,只要使用js让用户第一次点击提交按钮后,把提交按钮设置为disabled,这样用户就无法再次点击提交按钮了。当然这个毕竟是在客户端实现的,并不保险,为了100%做的防止重复提交,我们最好在服务器端进行处理,这样用户就干涩不了了。

在很多情况下都需要防止相同的表单被多次提交,很多人的实现方法都比较复杂(代码数量超过几十行!!)下面提供一种只需使用几行代码的方法,轻松地实现了防止用户刷新多次提交表单和使用后退钮重复多次提交表单。


文件一:表单文件formtest.asp


  <%
  Randomize '初始代随机数种子
  num1=rnd() '产生随机数num1
  num1=int(26*num1)+65 '修改num1的范围以使其是A-Z范围的Ascii码,以防表单名出错
  session("antry")="test"&chr(num1) '产生随机字符串
  %>
  <form name="test" action="testact.asp" method="post">
  你的名字:<input type='text' name='' size=30>  '注意本行中使用了随机表单项名
  <input type='submit' value='提交'>
  </form>


  表单处理程序testact.asp



  <%
  teststr=request.form(session("antry"))
  if teststr="" then
   response.write "没有填写姓名或重复提交"
   '由于用户没有填写名字,或表单被重复提交(标志为session("antry")为空)引起
  else
   response.write teststr
   session("antry")=""  '提交成功,清空session("antry"),以防重复提交!!
  end if
  %>




在这里,你只需随机化一个必填项目的表单项名即可,不必随机化所有的表单项目。

使用session来防止重复提交这个方法不错,值得参考!

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com