几行Asp代码实现防止表单重复提交

重复|重复提交

                      用几行Asp代码实现防止表单多次被提交
                                   廖家远

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

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

    欢迎访问我的个人主页http://swuse.yeah.net

时间: 2016-02-05

几行Asp代码实现防止表单重复提交的相关文章

用几行Asp代码实现防止表单多次被提交

在很多情况下都需要防止相同的表单被多次提交,很多人的实现方法都比较复杂(代码数量超过几十行!!)下面提供一种只需使用几行代码的方法,轻松地实现了防止用户刷新多次提交表单和使用后退钮重复多次提交表单. 表单文件formtest.asp < %Randomize '初始代随机数种子 num1=rnd() '产生随机数num1 num1=int(26*num1)+65 '修改num1的范围以使其是A-Z范围的Ascii码,以防表单名出错 session("antry")="t

php 防止表单重复提交几种方法

用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题.我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交. 1.使用客户端脚本 <form method="post" name="register" action="test.php" enctype="multipart/form-data">   <input name="te

java Struts2防止表单重复提交代码

先要配置拦截器,拦截器用于控制重复提交内容!其实原理很简单,就是在表单内生成一个序列,判断是否为新的序列,如果是之前的序列,则证明是一个重复提交内容!  代码如下 复制代码 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&q

用Struts的Token机制解决表单重复提交

Struts的Token(令牌)机制能够很好的解决表单重复提交的问题,基本原理是:服务器端在处理到达的请求之前,会将请求中包含的令牌值与保存在当前用户会话中的令牌值进行比较,看是否匹配.在处理完该请求后,且在答复发送给客户端之前,将会产生一个新的令牌,该令牌除传给客户端以外,也会将用户会话中保存的旧的令牌进行替换.这样如果用户回退到刚才的提交页面并再次提交的话,客户端传过来的令牌就和服务器端的令牌不一致,从而有效地防止了重复提交的发生. 这时其实也就是两点,第一:你需要在请求中有这个令牌值,请求

php 解决表单重复提交实现方法引见

  php 解决表单重复提交实现方法介绍 重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦. 例1 代码如下 复制代码 /* * php中如何防止表单的重复提交 */ session_start(); if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库 $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次写入,为

php解决和避免form表单重复提交的几种方法_php技巧

前言 为什么要避免form表单被重复提交呢?因为我们不想让我们的服务器重复处理没必要的数据,同时我们也是避免我们的数据库产生重复的数据,避免表单重复提交也是让我们的网站更安全的一种表现. 先看一下有哪些情况下回导致表单重复提交呢,知道哪些情况下可能会出现表单重复提交就可以从根源处理表单重复提交的情况了. 下面的情况就会导致表单重复提交:       点击提交按钮两次.       点击刷新按钮.       使用浏览器后退按钮重复之前的操作,导致重复提交表单.       使用浏览器历史记录重复

JSP学习之------&amp;gt;客户端防表单重复提交和服务器端session防表单重复提交

1.什么叫表单重复提交:      所谓表单重复提交,是指用户通过多次点击提交按钮或多次刷新表单提交页面等造成用户表单重复提交的现象 2.表单重复提交有哪些情况:      (1)用户在程序提交表单的时间段里多次提交表单      (2)重复刷新提交后的表单      (3)用户点击浏览器回退按钮,然后再次提交 3.如果解决表单重复提交:     (1)方法1:客户端防表单重复提交:  一般通过js代码防止第一种情况的发生,对于第二种和第三种的情况很难避免,并且稍微有经验的用户可以通过去掉页面j

Struts2框架学习之七:避免表单重复提交

前言 防止表单重复提交在web开发中是一个经常遇到的问题,一般来避免重复提交有两种方式:客户端JavaScript代码实现和服务端代码实现.这里主要介绍服务端的实现方式.在服务端实现表单重复提交的基本原理是:通过创建一个Session对象,并产生一个令牌值,将这个令牌值作为隐藏域随表单一起发送给客户端,同时在Session中保存令牌值.在用户提交表单的时候判断提交参数的令牌值与Session中的是否相等,如果相等则清除,不再使用这个令牌值,,然后执行后续的处理:如果两者不相等,表示已经提交过表单

php-PHP 基于smarty利用session 防止表单重复提交

问题描述 PHP 基于smarty利用session 防止表单重复提交 我在弄一个提交充值信息的表单,当点击提交的时候需要loading,如果再点击一次,就会重复上交,管理中就会多出一条记录,我用session记录当前页面的提交值,可是提交的时候无法改变当前值,就不能中断重复提交,求大神帮忙! 解决方案 点击提交后,用js将提交按钮设为disabled. 解决方案二: 利用session防止表单重复提交利用Session防止表单重复提交利用Session防止表单重复提交 解决方案三: 这个问题显