php防止表單重複提交的方法
重複提交是我們開發中會常碰到的一個問題,除了我們使用js來防止表單的重複提交,同時還可以使用php來防止重複提交哦。大家知道php防止表單重複提交嗎?下面我們就給大家詳細介紹一下吧!
用戶提交表單時可能因爲網速的原因,或者網頁被惡意刷新,致使同一條記錄重複插入到數據庫中,這是一個比較棘手的問題。我們可以從客戶端和服務器端一起着手,設法避免同一表單的重複提交。
1.使用客戶端腳本
[代碼]xm l代碼:
當用戶單擊“提交”按鈕後,該按鈕將變爲灰色不可用狀態
上面的例子中使用on click事件檢測用戶的提交狀態,如果單擊了“提交”按鈕,該按鈕立即置爲失效狀態,用戶不能單擊按鈕再次提交。
還有一個方法,也是利用ja vasc ript的功能,但是使用的是on submit()方法,如果已經提交過一次表單,將立即彈出對話框,代碼如下:
[代碼]xm l代碼:
01
02 var submitcount=0;
03 function submitOnce (form){
04 if (submitcount == 0){
05 submitcount++;
06 return true;
07 } else{
08 alert("正在操作,請不要重複提交,謝謝!");
09 return false;
10 }
11 }
在上例中,如果用戶已經單擊“提交”按鈕,該腳本會自動記錄當前的狀態,並將submitcount變量自加1,當用戶試圖再次提交時,腳本判斷submitcount變量值非零,提示用戶已經提交,從而避免重複提交表單。
2. 使用session(這個與JSP處理方法是一樣的')
利用PHP的Session功能,也能避免重複提交表單。Session保存在服務器端,在PHP運行過程中可以改變Session變量,下次訪問這個變量時,得到的是新賦的值,所以,可以用一個Session變量記錄表單提交的值,如果不匹配,則認爲是用戶在重複提交。
A頁面的代碼:
[代碼]php代碼:
01
02 session_start(); //根據當前SESSION生成隨機數
03 $code = mt_rand(0,1000000);
04 $_SESSION['code'] = $code; //將此隨機數暫存入到session
B頁面:
[代碼]php代碼:
01
02session_start();
03if(isset($_POST['originator'])) {
04 if($_POST['originator'] == $_SESSION['code']){
05 echo "ok";
06 unset($_SESSION["code"]); //將其清除掉此時再按F5則無效
07 }else{
08 echo "請不要刷新本頁面或重複提交表單";
09 }
10}?>
相關文章
-
php通過記錄IP來防止表單重複提交方法分析
本文實例分析了php通過記錄IP來防止表單重複提交方法,供大家參考。具體分析如下,更多消息請關注應屆畢業生網! 這個原理比較的簡單就是用戶第一次提交時我們記錄提交用戶的IP地址,這樣如果用戶在固定時間內再次 -
解決表單重複提交問題的PHP代碼
總結是把一定階段內的有關情況分析研究,做出有指導性結論的書面材料,它是增長才乾的一種好辦法,爲此要我們寫一份總結。總結怎麼寫才能發揮它的作用呢?下面是小編爲大家整理的物業公司年終總結,歡迎閱讀與收藏。物業公司年 -
php避免form表單重複提交
重複提交我們在php中的防止方法許多最常用的就是數據庫限制了,當然也有可以直接在客戶端進行限制了,具體的來看php重複提交防止示例會有哪些呢?下面的.情況就會導致表單重複提交:點擊提交按鈕兩次。點擊刷新按鈕。使用瀏 -
如何真正解決表單重複提交問題php代碼
過去一切時代的精華盡在書中。以下是小編爲大家搜索整理的如何真正解決表單重複提交問題php代碼,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!以前用的js表單防止重複提交方法代碼如下<script t -
使用php自動提交表單的方法
介紹了php自動提交表單的.方法,結合實例形式分析了php基於fsockopen與curl兩種實現技巧,需要的朋友可以參考下。fsockopen和curl都可以做php自動提交表單 1. fsockopen方法:php代碼:46474849<?php/*-------------- -
PHP提交from表單的方法
PHP獨特的語法混合了C、Java、Perl以及PHP自創的.語法。它可以比CGI或者Perl更快速地執行動態網頁。下面是小編爲大家搜索整理的PHP提交from表單的方法,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考 -
php提交form表單處理方法
導語:php提交form表單的2種方法和簡單的示例,十分的`實用,以下的是本站小編爲大家蒐集的php提交form表單實例,希望對你有所幫助。 處理GET請求實現的功能是輸入姓名後頁面顯示Hello XXX 創建html文件:?1234567891011 -
用PHP提交from表單的處理方法
PHP獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。下面是小編爲大家搜索整理的PHP提交from表單的.方法,希望能給大家帶來幫助!更多精彩內容請及時關注我們考試網! 處 -
php表單提交與$-POST實例分析
主要介紹了php表單提交與$_POST,實例分析了表單提交中$_POST變量的具體內容形式,有助於更好的`掌握表單提交中的數據操作技巧,需要的朋友可以參考下。這裏要注意:表單 checkbox 的 name 需要以數組形式來命名。表單文 -
ThinkPHP表單自動提交驗證實例教程
文章主要介紹了ThinkPHP表單自動提交驗證實例教程,非常有實用價值,需要的朋友可以參考下。本文以實例講述了ThinkPHP表單自動提交驗證的實現過程,詳細步驟如下所示: 一、模板部分:<!DOCTYPE HTML PUBLIC "-//W3C//DTD