thinkphp 防止重复提交数据。

前段防止也好,后台数据重复不插入数据库也好,求大神解决一下,感激不尽。
最新回答
夏日薄雪

2024-06-30 07:57:38

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

希望对你有帮助,如果有帮助,记得采纳哟!~~
追问
关键是人家购买商品不用验证码啊。
现在就是防止 后退,刷新之类造成的数据重复。
追答
嗯,那好吧!~~亲!~~
捂住眼睛捂不住人心

2024-06-30 09:39:22

if(isset($_SESSION['flag'])) {
    die('数据重复');
}

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


//数据保存成功,写入成功标记
if($result) {
    $_SESSION['flag'] = 1
}else{
    unset($_SESSION['flag']);
}
追问
有点没有看懂,你的意思是先创建并提交SESSION过来做判断吗?
追答
是的,第一次提交成功后,就写一个标记,下次再提交的时候就判断标记是否存在,如果存在就说明它重复了。
红眼兔兔

2024-06-30 04:29:30

thinkphp支持表单令牌验证功能,可以有效防止表单的重复提交等安全防护。
请参考开发手册:
http://document.thinkphp.cn/manual_3_2.html#form_token