思路:
需要把一个定值保存到session中,每次提交就验证这个定值,如果一致则return,否则提交该表单。当重新回到提交页面时销毁该session值。
具体实现:
在提交action中先验证该session值和提交过来i的表单,因为是首次提交,肯定不一样,所以继续往下执行;然后使用md5($_POST)生成session值,保存到$_SESSION['token']中,如果重复提交则return;最后在回到提交页面时unset($_SESSION['token'])。
也可以防止ajax重复提交
代码如下:
function submitAction(){
if($_SESSION['token'] == md5(implode(',',$_POST))){
return ;
}
}
$_SESSION['token'] = md5(implode(',',$_POST));
//....
}
function listAction(){
unset($_SESSION['token']);
}