php 防止表單重復(fù)提交兩種實(shí)現(xiàn)方法
php 防止表單重復(fù)提交
由于網(wǎng)絡(luò)原因,經(jīng)常出來(lái)點(diǎn)了提交按鈕,網(wǎng)頁(yè)沒(méi)有反應(yīng),而進(jìn)行再次點(diǎn)擊。這樣就導(dǎo)致后臺(tái)收到兩次提交,從而進(jìn)行兩次處理,本文章向大家介紹php 防止表單重復(fù)提交的幾種方法
1、前端解決
方法一:
可以通過(guò)前端來(lái)解決。當(dāng)用戶(hù)點(diǎn)了提交按鈕之后,先使用js進(jìn)行有效性判斷,沒(méi)問(wèn)題后,將提交按鈕”禁用“掉。然后再提交!
方法二:
使用ajax提交表單。點(diǎn)了提交按鈕后,禁用提將按鈕,或者設(shè)置一個(gè)狀態(tài)值,將其設(shè)為1,表示正在提交。再提交時(shí)判斷如果正在提交,則不作處理。等ajax返回后,再恢復(fù)狀態(tài)。
2、后端解決
有時(shí)候前端無(wú)法完全解決問(wèn)題,比如我用了jquery.validateEngine,沒(méi)有辦法設(shè)置狀態(tài)。所以考慮后端解決。
if(session("act_last_time") != ''){ if(floor( (time()-(int)session("act_last_time")) % 86400 / 60) <1 ){ $this->error("對(duì)不起,一分鐘之內(nèi)不能頻繁提交!", U('Wap/MyAct/list'), 5); } }else{ $t = (int)time(); echo $t; $_SESSION("act_last_time", $t); }
后端解決不怎么友好,但絕對(duì)有效。即對(duì)提交頻率進(jìn)行控制。我這里設(shè)置的是1分鐘。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
PHP Curl出現(xiàn)403錯(cuò)誤的解決辦法
這篇文章主要介紹了PHP Curl出現(xiàn)403錯(cuò)誤的解決辦法,是一個(gè)比較奇葩的錯(cuò)誤,刪除一些CURL的參數(shù)即可解決這個(gè)問(wèn)題,需要的朋友可以參考下2014-05-05PHP 獲取遠(yuǎn)程網(wǎng)頁(yè)內(nèi)容的代碼(fopen,curl已測(cè))
獲取遠(yuǎn)程網(wǎng)頁(yè)內(nèi)容的php代碼,做小偷采集程序的程序經(jīng)常用得到,現(xiàn)在用curl的比較多。2011-06-06thinkPHP框架樂(lè)觀鎖和悲觀鎖實(shí)例分析
這篇文章主要介紹了thinkPHP框架樂(lè)觀鎖和悲觀鎖,結(jié)合實(shí)例形式分析了框架樂(lè)觀鎖和悲觀鎖的原理及thinkPHP相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-10-10PHP+FastCGI+Nginx配置PHP運(yùn)行環(huán)境
Nginx不支持對(duì)外部程序的調(diào)用,所以必須通過(guò)FastCGI接口實(shí)現(xiàn)對(duì)外部程序的調(diào)用從而實(shí)現(xiàn)對(duì)客戶(hù)端動(dòng)態(tài)頁(yè)面請(qǐng)求的處理。2014-08-08php+js實(shí)現(xiàn)異步圖片上傳實(shí)例分享
本來(lái)想用插件上傳圖片的,后來(lái)自己寫(xiě)了一個(gè)簡(jiǎn)單的js實(shí)現(xiàn)異步的圖片上傳,不多說(shuō)上代碼非常簡(jiǎn)單2014-06-06WordPress后臺(tái)中實(shí)現(xiàn)圖片上傳功能的實(shí)例講解
這篇文章主要介紹了WordPress后臺(tái)中實(shí)現(xiàn)圖片上傳功能的實(shí)例講解,包括多個(gè)圖片上傳表單功能的實(shí)現(xiàn),需要的朋友可以參考下2016-01-01PHP OPP機(jī)制和模式簡(jiǎn)介(抽象類(lèi)、接口和契約式編程)
本文將介紹抽象類(lèi)、接口和一種稱(chēng)為契約式編程的技術(shù)。使用這些OPP機(jī)制,所編寫(xiě)的代碼就不限于只能計(jì)算或者輸出內(nèi)容了。這些機(jī)制能夠在概念層次上定義類(lèi)之間交互作用的規(guī)則,也為應(yīng)用程序的擴(kuò)展和定制提供了基礎(chǔ)。2014-06-06