亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

ThinkPHP防止重復提交表單的方法實例分析php實例

2020-03-22 17:02:14
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ThinkPHP防止重復提交表單的方法,結合實例形式分析了thinkPHP防止重復提交表單的各種常見操作技巧與相關注意事項,需要的朋友可以參考下

本文實例總結分析了ThinkPHP防止重復提交表單的方法。分享給大家供大家參考,具體如下:

為什么會有表單重復的坑

在開發中,如果一個新增或修改的表單,在后臺完成數據庫操作后我們設定的不是跳轉到其他頁面,還是返回本頁面,這時點擊瀏覽器的后退再提交或刷新頁面,會導致form表單重復提交,即這條記錄會被增加或修改兩次。

導致表單重復提交的原因是:第一次提交的表單會被緩存到內存中,直到頁面下次提交或頁面關閉或轉向其他頁面時才消失。在自調用返回時,內存中的數據依然在,這時頁面中的判斷提交的代碼依然可以檢測到提交的值,顧會產生重復提交的效果。

如何解決?

總結網上的解決辦法和自己的測試,可以用以下幾個辦法:

方法1:最簡單:頁面提交后轉到另一個頁面而不是本頁面,舉個栗子,比如你的頁面地址為

http://yourdomain.com/User/Index/login

則該頁面的表單action地址可以為另外的處理地址,如

 form action= {:U( User/Index/check_login )} method= post 

這樣報錯返回,或者用戶點擊回退按鈕,還是會回到上一個地址,不過這種情況也不保險。還要搭配方法2,一起比較保險

方法2:提交表單后提交按鈕變灰/隱藏提交按鈕

這種方式一般是結合方法1來做的,通過JS來動態監聽用戶的點擊動作,動態將按鈕屬性置成disabeld,即為灰色不可用。代碼如下:

HTML:

 form action= {:U( User/Index/check_login )} method= post  input type= text name= username html' target='_blank'>value= id= username /  input type= password name= userpwd id= userpwd /  input type= submit name= login_btn id= login_btn value= 登陸 /  /form 

JS:

$().ready(function(){ $( #login_btn ).on( click ,function(){ $(this).attr( disabled ,true);});

方法1+方法2 結合后,基本上90%以上的重復提交問題都能解決,但是大劉這里還是要說下第三種方法,即在服務端一勞永逸的解決這個問題

方法3:使用隱藏隨機TOKEN值的方法進行重復提交判斷

首先,在項目的functions.php中添加如下方法

//創建TOKENfunction createToken() { $code = chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE)) . chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE)) . chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE)); session( TOKEN , authcode($code));//判斷TOKENfunction checkToken($token) { if ($token == session( TOKEN )) { session( TOKEN , NULL); return TRUE; } else { return FALSE;/* 加密TOKEN */function authcode($str) { $key = YOURKEY  $str = substr(md5($str), 8, 10); return md5($key . $str);}

在表單頁面form中填入以下HTML代碼

HTML:

 input type= hidden name= TOKEN value= {:session( TOKEN )} / 

在頁面展示前調用creatToken()方法生成token,在相應控制器POST請求中 使用 checkToken() 進行判斷是否重復提交

if(IS_POST)$post_token = I( post.TOKEN  if(!checkToken($post_token)){ $this- error( 請不要重復提交頁面 ,U( User/Index/login }

基本上,這3個方法配合著使用,就能解決ThinkPHP開發中表單重復提交問題,當然,有同學說可以使用ThinkPHP的令牌環機制,這樣其實就更簡單了,TP會默認在表單中生成一個隱藏域,到時候判斷這個隱藏域是否存在以及和session中的值是否想的即可,原理和方法3是一樣的。

PS:今天終于把內容用簡書的markdown編輯器發出來了,果然markdown語法不是蓋的,整個排版都清爽了,不錯不錯。

您可能感興趣的文章:

PHP分頁顯示的方法分析【附PHP通用分頁類php技巧

PHP實現壓縮圖片尺寸并轉為jpg格式的方法示例_php技巧

PHP使用PDO抽象層獲取查詢結果的方法示例php技巧

以上就是ThinkPHP防止重復提交表單的方法實例分析php實例的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91po在线观看91精品国产性色| www.精品av.com| 久久国内精品一国内精品| 51ⅴ精品国产91久久久久久| 色99之美女主播在线视频| 精品久久久中文| 亚洲国产一区二区三区在线观看| 国产精品久久久久久久一区探花| yw.139尤物在线精品视频| 国产精品扒开腿做爽爽爽视频| 久久高清视频免费| 国产成人亚洲综合91| 日韩av电影免费观看高清| 国产精品999999| 日韩一级裸体免费视频| 中文字幕亚洲综合久久筱田步美| 国产精品视频一区二区高潮| 久久精品中文字幕一区| 国产欧美欧洲在线观看| 亚洲欧洲黄色网| 国产精品成人品| 欧美成人免费一级人片100| 亚洲天堂免费视频| 久久av中文字幕| www国产亚洲精品久久网站| 高跟丝袜一区二区三区| 在线亚洲欧美视频| 国内精品伊人久久| 操人视频在线观看欧美| 亚洲精品天天看| 久久久久久久色| 精品亚洲va在线va天堂资源站| 国产成人精品一区二区| 久久在线免费视频| 91香蕉嫩草影院入口| 日韩视频欧美视频| 国产999精品视频| 国产精品狼人色视频一区| 日韩视频在线免费观看| 精品国产一区二区三区久久狼5月| 96sao精品视频在线观看| 日日骚av一区| 欧洲中文字幕国产精品| 日韩激情视频在线| 亚洲午夜精品久久久久久性色| 国产精品v片在线观看不卡| 日韩av高清不卡| 日韩视频免费大全中文字幕| 欧美在线视频网站| 国产精品大片wwwwww| 亚洲精品suv精品一区二区| 欧美日韩在线视频观看| 久久影视电视剧凤归四时歌| 亚洲久久久久久久久久久| 欧美成人激情在线| 欧洲成人免费aa| 国产精品久久久久久av福利软件| 亚洲成人免费在线视频| 97在线精品视频| 这里只有视频精品| 亚洲风情亚aⅴ在线发布| 亚洲国产精品系列| 精品视频一区在线视频| 国产精品免费久久久久影院| 久久久国产一区二区三区| 欧美成人精品三级在线观看| 日韩精品中文字幕在线观看| 一区二区三区四区精品| 91人人爽人人爽人人精88v| 日韩av电影在线网| 久久久久久久久久久久av| 久久成人一区二区| 日韩高清欧美高清| 欧美成人免费观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲人线精品午夜| 色综合久久88色综合天天看泰| 欧美孕妇与黑人孕交| 成人精品视频99在线观看免费| 大荫蒂欧美视频另类xxxx| 亚洲嫩模很污视频| 久久久久久欧美| 欧洲成人免费视频| 91老司机在线| 欧美成aaa人片在线观看蜜臀| 亚洲精品女av网站| 国产99久久精品一区二区 夜夜躁日日躁| 成人日韩在线电影| 国产精品国产三级国产专播精品人| 欧美午夜激情视频| 亚洲肉体裸体xxxx137| 亚洲精品电影网| 国产成人短视频| 亚洲欧美国产精品va在线观看| 日韩av在线精品| 亚洲视频在线免费看| 欧美又大粗又爽又黄大片视频| 亚洲色图25p| 性欧美暴力猛交69hd| 色多多国产成人永久免费网站| 亚洲成人久久久久| 俺去亚洲欧洲欧美日韩| 国产视频精品在线| 国产丝袜一区二区三区| 国产成人啪精品视频免费网| 国产色婷婷国产综合在线理论片a| 久久精品国产精品亚洲| 精品美女久久久久久免费| 日韩一区二区福利| 日韩在线资源网| 久久久久九九九九| 亚洲精品国产精品国自产在线| 综合网中文字幕| 亚洲欧美三级在线| 成人免费在线视频网址| 国产精品99蜜臀久久不卡二区| 国产区亚洲区欧美区| 亚洲久久久久久久久久久| 久久久女人电视剧免费播放下载| 91精品国产91久久久久久吃药| 91精品国产91久久久久久最新| 日韩精品久久久久久福利| 国产精品99久久久久久久久久久久| 久久精品影视伊人网| 亚洲第一男人av| 国产一级揄自揄精品视频| 91社区国产高清| 亚洲91精品在线观看| 国语自产偷拍精品视频偷| 成人动漫网站在线观看| 国产精品成人va在线观看| 国产精品亚洲欧美导航| www国产亚洲精品久久网站| 亚洲热线99精品视频| 亚洲国产精品国自产拍av秋霞| 蜜臀久久99精品久久久久久宅男| 高清视频欧美一级| 免费不卡欧美自拍视频| 亚洲黄一区二区| 国产精品夫妻激情| 丝袜美腿亚洲一区二区| 国产成人精品视频| 成人精品一区二区三区电影黑人| 亚洲精品成a人在线观看| 91久久久久久久久| 成人久久18免费网站图片| 久久视频在线看| 亚洲aⅴ日韩av电影在线观看| 午夜精品三级视频福利| 欧美成年人视频| 亚洲欧美日韩综合| 久久99国产精品自在自在app| 亚洲欧美日韩天堂一区二区| 国产精品毛片a∨一区二区三区|国| 日韩精品电影网| 亚洲国产精品va| 最近免费中文字幕视频2019| 色黄久久久久久| 亚洲精品白浆高清久久久久久| 北条麻妃99精品青青久久| 久热精品视频在线| 麻豆国产va免费精品高清在线| 91系列在线播放| 国产日韩av在线播放|