php防止表單重復(fù)提交實(shí)例講解
說來慚愧,前幾天做項(xiàng)目的時候,出現(xiàn)個低級錯誤。在公司后臺做表單提交,一是自己員工用,二是 html 自己來寫的,沒有驗(yàn)證表單重復(fù)提交,結(jié)果出錯了。寫出來記錄下以便提醒自己,時刻不能疏忽。
解決方法
其實(shí)方法有很多種,只舉例幾個簡單的來說說。
框架
很多框架都有防止重復(fù)提交的功能,大家應(yīng)該都有了解,這里不再贅述。
前端
原理很簡單,用戶點(diǎn)擊提交之后,使用 JS 將提交按鈕置灰即可。
后端
也就是使用 PHP 進(jìn)行驗(yàn)證,當(dāng)然不局限以下幾種
Cookie
用戶提交表單到后端,在 Cookie 中做標(biāo)記,指定時間內(nèi)重復(fù)提交無效。但是用戶禁用 Cookie 這個方法就失效了。
<?php
if (isset($_COOKIE['formFlag'])) {
exit('error');
}
// 處理數(shù)據(jù)
// 30秒內(nèi)重復(fù)提交無效
setcookie('formFlag', time(), time() + 30);
Session
展示表單頁面的時候,生成隨機(jī)數(shù),同時存儲在 Session 中以及表單隱藏域中。第一次提交的時候,對比成功刪除 Session 中的值。
<?php
if (!isset($_SESSION['formFlag']) || $_POST['formFlag'] != $_SESSION['formFlag']) {
exit('error');
}
// 處理數(shù)據(jù)
unset($_SESSION['formFlag']);
上面就是本次介紹PHP防止重復(fù)提交表單的全部內(nèi)容,感謝大家對腳本之家的支持。
- php如何把表單內(nèi)容提交到數(shù)據(jù)庫
- PHP使用HTML5 FormData對象提交表單操作示例
- 微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺數(shù)據(jù)交互處理圖文詳解
- PHP如何通過表單直接提交大文件詳解
- php 提交表單 關(guān)閉layer彈窗iframe的實(shí)例講解
- php實(shí)現(xiàn)表單提交上傳文件功能
- PHP實(shí)現(xiàn)防止表單重復(fù)提交功能【基于token驗(yàn)證】
- 解決php 處理 form 表單提交多個 name 屬性值相同的 input 標(biāo)簽問題
- PHP如何防止用戶重復(fù)提交表單
相關(guān)文章
PhpStorm本地?cái)帱c(diǎn)調(diào)試的方法步驟
php代碼在調(diào)試時,經(jīng)常是print_r或者var_dump來斷點(diǎn),但是當(dāng)項(xiàng)目較為復(fù)雜的情況下,這么做效率就非常低下了,斷點(diǎn)調(diào)試就非常好的解決了這個問題,這篇文章主要介紹了PhpStorm本地?cái)帱c(diǎn)調(diào)試的方法步驟,感興趣的小伙伴們可以參考一下2018-05-05
Centos下升級php5.2到php5.4全記錄(編譯安裝)
這篇文章主要介紹了Centos下升級php5.2到php5.4全記錄(編譯安裝),本文還同時講解了解決htmlspecialchars默認(rèn)編碼UTF-8問題的解決方法,需要的朋友可以參考下2015-04-04
Zend Framework+smarty用法實(shí)例詳解
這篇文章主要介紹了Zend Framework+smarty用法,結(jié)合實(shí)例形式詳細(xì)分析了Zend Framework框架整合Smarty模板的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-03-03
通過5個php實(shí)例細(xì)致說明傳值與傳引用的區(qū)別
今天有個同事問我傳值和傳引用有什么不同,這讓我想起了,剛學(xué)php的時候,那個時候做過很多項(xiàng)目,做東西多,就以為自己php掌握的差不多了,隨著時間的推移,越深入的學(xué)習(xí),越覺得自己知道的真的很少,很少2012-08-08
Laravel框架實(shí)現(xiàn)多個視圖共享相同數(shù)據(jù)的方法詳解
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)多個視圖共享相同數(shù)據(jù)的方法,涉及Laravel框架視圖與控制器數(shù)據(jù)調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
PHP實(shí)現(xiàn)權(quán)限管理功能示例
下面小編就為大家?guī)硪黄狿HP實(shí)現(xiàn)權(quán)限管理功能示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09

