我一次项目中用到的一次防止表单重复提交
Thinkphp:
在输出模板的前定义一个加密字符串:
TestAction.class.php :
$str=rand(100000, 999999); //随机生成字符串
$verif = md5($str); //md5加密字符串
session("priceverify",$verif); //将字符串保存到session
$this->display();
模板 Test.html :
将加密串放到隐藏域里;
<form action="/index.php/Test_add" method="post">
<input type="text" name="user" value="" placeholder="请输入名称" />
<input type="hidden" name="priceverify" value="{$_SESSION['priceverify']}"/>
<input type="submit" value="提现" />
</form>
Test_addAction.class.php :
if($_POST['priceverify']==$_SESSION['priceverify']){
//重新生成验证码
$str1=rand(100000, 999999);
$verif = md5($str1);
session("phoneverify",$verif);
$date['user'] = $_POST[user''];
$id = 数据库表->add($date);
if($if){
echo '添加成功。';
}else{
echo '添加失败!请重新添加';
}
}else{
echo '不要重复提交哦。';exit;
}