我一次項目中用到的一次防止表單重複提交
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;
}