php防止表單重復(fù)提交實(shí)例講解
說來慚愧,前幾天做項(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ì)腳本之家的支持。
- php如何把表單內(nèi)容提交到數(shù)據(jù)庫
- PHP使用HTML5 FormData對(duì)象提交表單操作示例
- 微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺(tái)數(shù)據(jù)交互處理圖文詳解
- PHP如何通過表單直接提交大文件詳解
- php 提交表單 關(guān)閉layer彈窗iframe的實(shí)例講解
- php實(shí)現(xiàn)表單提交上傳文件功能
- PHP實(shí)現(xiàn)防止表單重復(fù)提交功能【基于token驗(yàn)證】
- 解決php 處理 form 表單提交多個(gè) name 屬性值相同的 input 標(biāo)簽問題
- PHP如何防止用戶重復(fù)提交表單
相關(guān)文章
PHP不使用遞歸的無限級(jí)分類簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄狿HP不使用遞歸的無限級(jí)分類簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11php 實(shí)現(xiàn)301重定向跳轉(zhuǎn)實(shí)例代碼
本文主要介紹php 實(shí)現(xiàn)301重定向跳轉(zhuǎn),通過實(shí)例代碼讓大家更好的理解重定向的方法,有需要的小伙伴可以參考下2016-07-07Thinkphp通過一個(gè)入口文件如何區(qū)分移動(dòng)端和PC端
這篇文章主要介紹了Thinkphp通過一個(gè)入口文件區(qū)分移動(dòng)端和PC端的方法,需要的的朋友參考下吧2017-04-04laravel 框架執(zhí)行流程與原理簡(jiǎn)單分析
這篇文章主要介紹了laravel 框架執(zhí)行流程與原理,結(jié)合實(shí)例形式分析了laravel框架基本執(zhí)行流程、原理及相關(guān)操作技巧,需要的朋友可以參考下2020-02-02php正確輸出json數(shù)據(jù)的實(shí)例講解
今天小編就為大家分享一篇php正確輸出json數(shù)據(jù)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08使用laravel和ECharts實(shí)現(xiàn)折線圖效果的例子
今天小編就為大家分享一篇使用laravel和ECharts實(shí)現(xiàn)折線圖效果的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10PHP執(zhí)行SQL文件并將SQL文件導(dǎo)入到數(shù)據(jù)庫
今天給大家介紹一下,如何利用php自動(dòng)執(zhí)行.sql文件。其實(shí)很簡(jiǎn)單,就是獲取sql文件中的內(nèi)容,然后將每一句sql語句一次執(zhí)行就行啦。需要的朋友可以參考下2015-09-09實(shí)例分析基于PHP微信網(wǎng)頁獲取用戶信息
本篇內(nèi)容主要給大家詳細(xì)分析了用PHP制作微信網(wǎng)頁來獲取用戶基本信息的過程,以及步驟講解。2017-11-11