PHP防止表单重复提交的几种常用方法汇总

转载 2015年11月19日 17:53:35

本文较为详细的汇总了PHP防止表单重复提交的几种常用方法,在PHP程序开发中有着很高的实用价值。具体方法如下:

1. 使用JS让按钮在点击一次后禁用(disable)。采用这种方法可以防止多次点击的发生,实现方式较简单。

缺点是若客户端禁止JavaScript脚本,则失效。

2. 在提交成功后执行页面重定向(redirect)。转到提交成功信息页面。

特点:避免F5重复提交,消除浏览器前进和后退按钮可导致的同样问题。

3. 表单隐藏域中存放session(表单被请求时生成的标记)。采用此方法在接收表单数据后,检查此标志值是否存在,先进行删除,然后处理数据; 若不存在,说明已提交过,忽略本次提交。

/*
//服务端生成随机数存入session, 分配至表单页
$data['sess_id'] = $_SESSION['sid'] = mt_rand(1000, 9999);
$this->load->view('form', $data);

//表单页隐藏域存放此session值
<input type="hidden" name="sid" value="<?=$sess_id; ?>">

//处理
if($_POST['sid'] != '' && $_POST['sid'] == $_SESSION['sid'])
{
 unset($_SESSION['sid']);

 echo '处理数据';
}
else
{
 echo '已提交过表单';
}

4. 数据库唯一索引约束(最有效的防止重复数据的方法)。

防止表单重复提交的几种方法总结

1、JavaScript防止表单重复提交(主要用于网络延迟情况下用户点击多次submit按钮导致表单重复提交) 在jsp页面中,添加JavaScript代码来防止表单的重复提交。主要是针对在网络延迟...
  • Warpar
  • Warpar
  • 2017年06月08日 14:53
  • 500

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

表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如: 点击提交按钮两次。点击刷新按钮。使用浏览器后退按钮重复之前的操作,导致重复提交表单...

php表单加入Token防止重复提交的方法分析

Token浅谈 Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来。 那么,Token有什么作用?又是什么原理呢? Token一般用在两个地...

防止用户将表单重复提交的方法汇总

防止用户将表单重复提交的方法汇总: 1.禁掉提交按钮 2.Post/Redirect/Get模式 3.在session中存放一个特殊标志 4.在数据库里添加约束...

Jsp 防止表单重复提交几种方案

SP避免Form重复提交的三种方案  1) javascript ,设置一个变量,只允许提交一次。        var checksubmitflg = false;    func...
  • kalision
  • kalision
  • 2012年08月09日 14:59
  • 23356

防止表单重复提交的几种策略

表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如:点击提交按钮两次。 点击刷新按钮。 使用浏览器后退按钮重复之前的操作,导致重复提交表单...

外刊IT评论:防止表单重复提交的几种策略

表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如: 点击提交按钮两次。点击刷新按钮。使用浏览器后退按钮重复之前的操作,导致重复提交表单...
  • zgyhh
  • zgyhh
  • 2013年11月14日 18:08
  • 267

防止表单重复提交的几种策略

表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如: 点击提交按钮两次。 点击刷新按钮。 使用浏览器后退按钮重复之前的操作,导致重复提交...

Jsp 防止表单重复提交几种方案

SP避免Form重复提交的三种方案   1) javascript ,设置一个变量,只允许提交一次。          var checksubmitflg = false;     func...

Jsp 防止表单重复提交几种方案

SP避免Form重复提交的三种方案   1) javascript ,设置一个变量,只允许提交一次。          var checksubmitflg = false;     func...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP防止表单重复提交的几种常用方法汇总
举报原因:
原因补充:

(最多只允许输入30个字)