欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php防止表單重復提交的方法

這篇文章主要為大家展示了php防止表單重復提交的方法,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學習一下“php防止表單重復提交的方法”這篇文章吧。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了封丘免費建站歡迎大家使用!

php有什么用

php是一個嵌套的縮寫名稱,指的是英文超級文本預處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。

用戶提交表單時可能因為網(wǎng)速的原因,或者網(wǎng)頁被惡意刷新,致使同一條記錄重復插入到數(shù)據(jù)庫中,這是一個比較棘手的問題。我們可以從客戶端和服務器端一起著手,設(shè)法避免同一表單的重復提交。

1.使用客戶端腳本

<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='正在提交,請等待...';document.register.cont.disabled=true;document.the_form.submit();">
</form>

當用戶單擊“提交”按鈕后,該按鈕將變?yōu)榛疑豢捎脿顟B(tài)
上面的例子中使用OnClick事件檢測用戶的提交狀態(tài),如果單擊了“提交”按鈕,該按鈕立即置為失效狀態(tài),用戶不能單擊按鈕再次提交。

還有一個方法,也是利用JavaScript的功能,但是使用的是OnSubmit()方法,如果已經(jīng)提交過一次表單,將立即彈出對話框,代碼如下:

<script language="javascript">
var submitcount=0;
function submitOnce (form){
    if (submitcount == 0){
         submitcount++;
         return true;
    } else{
        alert("正在操作,請不要重復提交,謝謝!");
        return false;
    }
}
</script>
<form name="the_form" method="post" action="" onSubmit="return submitOnce(this)">
<input name="text" type="text" id="text" />
<input name="cont" value="提交" type="submit">
</form>

在上例中,如果用戶已經(jīng)單擊“提交”按鈕,該腳本會自動記錄當前的狀態(tài),并將submitcount變量自加1,當用戶試圖再次提交時,腳本判斷submitcount變量值非零,提示用戶已經(jīng)提交,從而避免重復提交表單。

2. 使用session(這個與JSP處理方法是一樣的)

利用PHP的Session功能,也能避免重復提交表單。Session保存在服務器端,在PHP運行過程中可以改變Session變量,下次訪問這個變量時,得到的是新賦的值,所以,可以用一個Session變量記錄表單提交的值,如果不匹配,則認為是用戶在重復提交。
A頁面的代碼:

<?php
session_start();                //根據(jù)當前SESSION生成隨機數(shù)
$code = mt_rand(0,1000000);
$_SESSION['code'] = $code;      //將此隨機數(shù)暫存入到session
?>
<form id="form1" name="form1" method="post" action="t2.php">
    <p>說明 <input type="text" name="titile" />
        <input type="hidden" name="originator" value="<?php echo $code;?>"></p>
    <p><input type="submit" name="Submit" value="提交" /></p>
</form>

B頁面:

<?php
session_start();
if(isset($_POST['originator'])) {
    if($_POST['originator'] == $_SESSION['code']){
        echo "ok";
        unset($_SESSION["code"]);               //將其清除掉此時再按F5則無效
    }else{
        echo "請不要刷新本頁面或重復提交表單";
    }
}?>

以上就是關(guān)于“php防止表單重復提交的方法”的內(nèi)容,如果改文章對你有所幫助并覺得寫得不錯,勞請分享給你的好友一起學習新知識,若想了解更多相關(guān)知識內(nèi)容,請多多關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:php防止表單重復提交的方法
文章轉(zhuǎn)載:http://www.chinadenli.net/article4/ippcoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作品牌網(wǎng)站設(shè)計網(wǎng)站策劃網(wǎng)站設(shè)計搜索引擎優(yōu)化靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營