欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php防止表單重復(fù)提交實(shí)例講解

 更新時(shí)間:2019年02月11日 11:32:35   投稿:laozhang  
在本文中我們給大家整理了關(guān)于php防止表單重復(fù)提交的知識(shí)點(diǎn),有需要的朋友們跟著學(xué)習(xí)參考下。

說來慚愧,前幾天做項(xiàng)目的時(shí)候,出現(xiàn)個(gè)低級(jí)錯(cuò)誤。在公司后臺(tái)做表單提交,一是自己?jiǎn)T工用,二是 html 自己來寫的,沒有驗(yàn)證表單重復(fù)提交,結(jié)果出錯(cuò)了。寫出來記錄下以便提醒自己,時(shí)刻不能疏忽。

解決方法

其實(shí)方法有很多種,只舉例幾個(gè)簡(jiǎn)單的來說說。

框架

很多框架都有防止重復(fù)提交的功能,大家應(yīng)該都有了解,這里不再贅述。

前端

原理很簡(jiǎn)單,用戶點(diǎn)擊提交之后,使用 JS 將提交按鈕置灰即可。

后端

也就是使用 PHP 進(jìn)行驗(yàn)證,當(dāng)然不局限以下幾種

Cookie

用戶提交表單到后端,在 Cookie 中做標(biāo)記,指定時(shí)間內(nèi)重復(fù)提交無效。但是用戶禁用 Cookie 這個(gè)方法就失效了。

<?php
 
if (isset($_COOKIE['formFlag'])) {
  exit('error');
}
 
// 處理數(shù)據(jù)
 
// 30秒內(nèi)重復(fù)提交無效
setcookie('formFlag', time(), time() + 30);

Session

展示表單頁面的時(shí)候,生成隨機(jī)數(shù),同時(shí)存儲(chǔ)在 Session 中以及表單隱藏域中。第一次提交的時(shí)候,對(duì)比成功刪除 Session 中的值。

<?php
 
if (!isset($_SESSION['formFlag']) || $_POST['formFlag'] != $_SESSION['formFlag']) {
  exit('error');
}
 
// 處理數(shù)據(jù)
 
unset($_SESSION['formFlag']);

上面就是本次介紹PHP防止重復(fù)提交表單的全部?jī)?nèi)容,感謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論