thinkphp 防止重复提交数据。

前段防止也好,后台数据重复不插入数据库也好,求大神解决一下,感激不尽。

亲,你可以加验证码验证啊!~~
第一次产生验证码,然后验证完成后就将验证码更新掉,这样他再提交验证码就错误了,验证码错误就不让他提交,直接转向就好了!~~
验证码是防止重复提交的一个简单的方式,目前还是比较有效的!~~
而且tp生成验证码很简单,验证也很方便的!~~
具体可以参考文档这里:http://document.thinkphp.cn/manual_3_2.html#verify
希望对你有帮助,如果有帮助,记得采纳哟!~~追问

关键是人家购买商品不用验证码啊。
现在就是防止 后退,刷新之类造成的数据重复。

追答

嗯,那好吧!~~亲!~~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-12
if(isset($_SESSION['flag'])) {
    die('数据重复');
}

//这里是你的表单处理逻辑


//数据保存成功,写入成功标记
if($result) {
    $_SESSION['flag'] = 1
}else{
    unset($_SESSION['flag']);
}

追问

有点没有看懂,你的意思是先创建并提交SESSION过来做判断吗?

追答

是的,第一次提交成功后,就写一个标记,下次再提交的时候就判断标记是否存在,如果存在就说明它重复了。

本回答被提问者采纳
第2个回答  2019-07-26
thinkphp支持表单令牌验证功能,可以有效防止表单的重复提交等安全防护。
请参考开发手册:http://document.thinkphp.cn/manual_3_2.html#form_token