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

2015-01-24信息快讯网

这篇文章主要介绍了PHP防止表单重复提交的几种常用方法汇总,在PHP项目开发中有不错的实用价值,需要的朋友可以参考下

本文较为详细的汇总了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. 数据库唯一索引约束(最有效的防止重复数据的方法)。

希望本文所述方法对大家的PHP项目开发能起到一定的帮助作用。

PHP中使用xmlreader读取xml数据示例
php读取远程gzip压缩网页的方法
php导入大量数据到mysql性能优化技巧
php随机取mysql记录方法小结
php使用PDO方法详解
PHP把MSSQL数据导入到MYSQL的方法
php将图片保存入mysql数据库失败的解决方法
thinkPHP实现表单自动验证
php将textarea数据提交到mysql出现很多空格的解决方法
php通过记录IP来防止表单重复提交方法分析
php表单敏感字符过滤类
Yii框架form表单用法实例
Yii不依赖Model的表单生成器用法实例
Yii实现多按钮保存与提交的方法
ThinkPHP提交表单时默认自动转义的解决方法
ci检测是ajax还是页面post提交数据的方法
phpword插件导出word文件时中文乱码问题处理方案
PHP中单引号与双引号的区别分析
php版本的cron定时任务执行器使用实例
PHP框架Swoole定时器Timer特性分析
几道坑人的PHP面试题 试试看看你会不会也中招
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
PHP获取一个字符串中间一部分字符的方法
zend framework框架中url大小写问题解决方法
asp.net访问网络路径方法(模拟用户登录)
php出现内存位置访问无效错误问题解决方法
ThinkPHP表单自动提交验证实例教程
php防止伪造的数据从URL提交方法
PHP判断表单复选框选中状态完整例子
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
PHP提交表单失败后如何保留已经填写的信息
PHP防止post重复提交数据的简单例子
php表单请求获得数据求和示例
yii框架表单模型使用及以数组形式提交表单数据示例
©2014-2024 dbsqp.com