第一、使用Session处理
利用PHP的Session功能,也能避免重复提交表单。Session保存在服务器端,在PHP运行过程中可以改变Session变量,下次访问这个变量时,得到的是新赋的值,所以,可以用一个Session变量记录表单提交的值,如果不匹配,则认为是用户在重复提交,请见如下代码:
1 2 3 4 5 6 |
|
在页面表单上将随机数作为隐藏值进行传递,代码如下:
1 |
|
在接收页面的PHP代码如下:
1 2 3 4 5 6 7 8 9 10 |
|
第二:使用redis缓存
// 是否有时效性 $time = 300;//5分钟 $key="code:{$uid}"; $c = Fend_Cache::get($key); if (!empty($c) ) { echo "<script>alert('亲,领取太频繁!')</script>"; echo "<script type='text/javascript'>window.location.href='/app/card/index'</script>";exit; } Fend_Cache::set($key,1,$time);