thinkphp 解决页面刷新表单重复提交的问题
2017-01-18 14:05
931 查看
控制器中
注:该段代码应在表单提交判断的后面
往html中传一个session随机数,并把该随机数用隐藏input框的形式传值
html页面中
在表单提交后的做判断,若input值与session中的值相等,则可继续提交,否则不执行提交表单
完整代码:
session_start(); $code =mt_rand(0,1000000); $_SESSION['code'] = $code; $this->assign('code',$code);
注:该段代码应在表单提交判断的后面
往html中传一个session随机数,并把该随机数用隐藏input框的形式传值
html页面中
<input type="hidden" name="hiddenCode" value="<{$code}>">
在表单提交后的做判断,若input值与session中的值相等,则可继续提交,否则不执行提交表单
session_start(); if(isset($data['hiddenCode'])){ if($data['hiddenCode'] == $_SESSION['code']){ unset($data['hiddenCode']); //提交操作 } }
完整代码:
public function test(){ $data = I('post.'); if($data != null){ $this->addSubmitform($data); } session_start(); $code = mt_rand(0,1000000); $_SESSION['code'] = $code; $this->assign('code',$code); $this->display('.html'); } public function addSubmitform($data){ session_start(); if(isset($data['hiddenCode'])){ if($data['hiddenCode'] == $_SESSION['code']){ unset($data['hiddenCode']); $res1 = M('tableName')->add($data); if ($res1 == '') { //上传失败 return false; } } } }
<form class="ticket-form" action="" method="post"> Landing Page<input class="form-input page" type="text" name="page"/> <input type="hidden" name="hiddenCode" value="<{$code}>"> <input type="submit" value="Submit" > </form>
相关文章推荐
- JSP刷新页面表单重复提交问题解决办法分享
- 解决 php提交表单到当前页面,刷新会重复提交 的问题
- easyui关于解决tab添加的页面通过href加载数据内容的页面刷新后form表单重复提交的问题;
- JSP刷新页面表单重复提交问题解决办法分享
- 解决 php提交表单到当前页面,刷新会重复提交 的问题
- JSP刷新页面表单重复提交问题解决办法分享
- 解决后台提交表单数据时,重复F5刷新页面出现重复提交数据的问题。
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- 用户刷新页面时重复提交表单解决办法
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- 解决刷新页面造成的数据重复提交问题
- 在页面中使用WebWork的token标签解决表单重复提交问题
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- SubmitOncePage:解决刷新页面造成的数据重复提交问题
- 解决刷新页面造成的数据重复提交问题
- 页面按F5刷新,避免表单重复提交的解决方法
- 在页面中使用WebWork的token标签解决表单重复提交问题
- 解决刷新页面造成的数据重复提交问题
- 页面按F5刷新重复提交表单数据的解决办法