發(fā)布:JB01 來(lái)源:腳本學(xué)堂 【大 中 小】本文介紹下,在php編程中,防止頁(yè)面重復(fù)提交的方法,包括提交按鈕置disabled、過(guò)期時(shí)間法、token銷(xiāo)毀法等,有需要的朋友參考下。 本文原始鏈接:http://www./article/13992.html 本節(jié)內(nèi)容: php防止頁(yè)面重復(fù)提交 說(shuō)是php中防止頁(yè)面的重復(fù)提交,其實(shí)還說(shuō)到了js代碼防止重復(fù)提交的方法。 1、提交按鈕置disabled 復(fù)制代碼代碼示例: $("#submit").attr('disabled','true'); $("#submit").val("正在提交,請(qǐng)稍等"); 執(zhí)行后,把按鈕置為原來(lái)狀態(tài): 復(fù)制代碼代碼示例: $('#submit ').removeAttr('disabled'); $("#submit ").val("確定提交"); 2、過(guò)期時(shí)間法 <?php //防止頁(yè)面重復(fù)提交 function checkRepeatSubmit($uniqueid = '', $expire = 30) { $uniqueid = empty($uniqueid) ? Yii::app()->user->id . Yii::app()->user->name . Yii::app()->user->mihome : $uniqueid; $token = md5("wms_check_repeat" . $uniqueid); $time = time(); if (isset()($_SESSION['token']) && !empty($_SESSION['token']) && $_SESSION['token'] == $token && ($time - $_SESSION['expire_time'] < $expire)) { return false; } else { // www. $_SESSION['token'] = $token; $_SESSION['expire_time'] = $time; //session寫(xiě)入的時(shí)候會(huì)等待整個(gè)頁(yè)面加載完成,用此函數(shù)可以立即寫(xiě)入 session_write_close(); return true; } } //刪除存入的值 function cancelRepeatSubmit() { unset($_SESSION['token']); unset($_SESSION['expire_time']); } 3、token銷(xiāo)毀法 復(fù)制代碼代碼示例: <?php return $token; 小結(jié): 不過(guò),php函數(shù)提供了一個(gè)牛逼的函數(shù):session_write_close(),可以立即把session寫(xiě)入,不用等待頁(yè)面加載完成。 您可能感興趣的文章: |
|
來(lái)自: xf_baby > 《PHP基礎(chǔ)教程》