php 防止表單重復(fù)提交實(shí)例:
*************************************************************
上面是完整例題,下面是在網(wǎng)站摘抄,僅供參考
*************************************************************
用戶提交表單時(shí)可能因?yàn)榫W(wǎng)速的原因,或者網(wǎng)頁(yè)被惡意刷新,致使同一條記錄重復(fù)插入到數(shù)據(jù)庫(kù)中,這是一個(gè)比較棘手的問題。我們可以從客戶端和服務(wù)器端一起著手,設(shè)法避免同一表單的重復(fù)提交。
1.使用客戶端腳本
提到客戶端腳本,經(jīng)常使用的是JavaScript進(jìn)行常規(guī)輸入驗(yàn)證。在下面的例子中,我們使用它處理表單的重復(fù)提交問題,請(qǐng)看下面的代碼:
<form method="post" name="register" action="test.php" enctype="multipart/form-data">
<input name="text" type="text" id="text" />
<input name="cont" value="提交" type="button" onClick="document.register.cont.value='正在提交,請(qǐng)等待...'; document.register.cont.disabled=true;document.the_form.submit();">
</form>
當(dāng)用戶單擊“提交”按鈕后,該按鈕將變?yōu)榛疑豢捎脿顟B(tài)。
上面的例子中使用OnClick事件檢測(cè)用戶的提交狀態(tài),如果單擊了“提交”按鈕,該按鈕立即置為失效狀態(tài),用戶不能單擊按鈕再次提交。
還有一個(gè)方法,也是利用JavaScript的功能,但是使用的是OnSubmit()方法,如果已經(jīng)提交過一次表單,將立即彈出對(duì)話框,代碼如下:
新聞熱點(diǎn)
疑難解答