佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > php防止表單重復(fù)提交實例講解

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

熱門標(biāo)簽:Linux服務(wù)器 電子圍欄 阿里云 科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) 團購網(wǎng)站 服務(wù)器配置 Mysql連接數(shù)設(shè)置

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

解決方法

其實方法有很多種,只舉例幾個簡單的來說說。

框架

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

前端

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

后端

也就是使用 PHP 進行驗證,當(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

展示表單頁面的時候,生成隨機數(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的實例講解
  • php實現(xiàn)表單提交上傳文件功能
  • PHP實現(xiàn)防止表單重復(fù)提交功能【基于token驗證】
  • 解決php 處理 form 表單提交多個 name 屬性值相同的 input 標(biāo)簽問題
  • PHP如何防止用戶重復(fù)提交表單

標(biāo)簽:大理 廣元 衢州 棗莊 蚌埠 衡水 江蘇 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php防止表單重復(fù)提交實例講解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    临江市| 南丹县| 龙泉市| 崇左市| 军事| 柯坪县| 宁武县| 娄烦县| 马尔康县| 宾阳县| 双鸭山市| 彰化市| 光山县| 根河市| 夹江县| 延川县| 朔州市| 安吉县| 沅江市| 都兰县| 崇礼县| 汝城县| 贺州市| 江口县| 本溪| 东丽区| 大埔县| 莱州市| 宜春市| 吉林省| 承德县| 沐川县| 常山县| 江城| 巩义市| 平度市| 赤水市| 正镶白旗| 扶绥县| 冕宁县| 平谷区|