解決php表單重復(fù)提交實(shí)現(xiàn)方法
重復(fù)提交是我們開(kāi)發(fā)中會(huì)常碰到的一個(gè)問(wèn)題,除了我們使用js來(lái)防止表單的重復(fù)提交,同時(shí)還可以使用php來(lái)防止重復(fù)提交哦。
<?php /* * php中如何防止表單的重復(fù)提交 */ session_start(); if (empty($_SESSION['ip'])) {//第一次寫入操作,判斷是否記錄了IP地址,以此知道是否要寫入數(shù)據(jù)庫(kù) $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次寫入,為后面刷新或后退的判斷做個(gè)鋪墊 //...........//寫入數(shù)據(jù)庫(kù)操作 } else {//已經(jīng)有第一次寫入后的操作,也就不再寫入數(shù)據(jù)庫(kù) echo '請(qǐng)不要再次刷新和后退'; //寫一些已經(jīng)寫入的提示或其它東西 } ?>
具體原理
session范圍變量token來(lái)防止。
1. 開(kāi)啟session:
session_start();
2. 如果有表單提交
if (isset($token))
token以hidden的形式包含在form當(dāng)中。
<input type="hidden" name="token" value="<?php echo $token; ?>" />
3. 如果是重復(fù)提交表單
if ($_SESSION["token"] != $token) { // 不讓重復(fù)提交,在此處理 // header("location:".$_SERVER['PHP_SELF']); } else { // 正常的表單提交,在此處理 // echo "已提交"; }
4. 設(shè)置token值
$token = mt_rand(0,1000000);
2$_SESSION['token'] = $token;
以上就是關(guān)于如何解決php表單重復(fù)提交實(shí)現(xiàn)方法,希望對(duì)大家的學(xué)習(xí)有所幫助。
- PHP防止表單重復(fù)提交的幾種常用方法匯總
- ThinkPHP 防止表單重復(fù)提交的方法
- php解決和避免form表單重復(fù)提交的幾種方法
- php通過(guò)記錄IP來(lái)防止表單重復(fù)提交方法分析
- PHP使用token防止表單重復(fù)提交的方法
- php 防止表單重復(fù)提交兩種實(shí)現(xiàn)方法
- PHP+Session防止表單重復(fù)提交的解決方法
- 詳解php curl帶有csrf-token驗(yàn)證模擬提交方法
- Thinkphp5 微信公眾號(hào)token驗(yàn)證不成功的原因及解決方法
- php版微信開(kāi)發(fā)Token驗(yàn)證失敗或請(qǐng)求URL超時(shí)問(wèn)題的解決方法
- PHP實(shí)現(xiàn)防止表單重復(fù)提交功能【基于token驗(yàn)證】
相關(guān)文章
php版微信公眾平臺(tái)回復(fù)中文出現(xiàn)亂碼問(wèn)題的解決方法
這篇文章主要介紹了php版微信公眾平臺(tái)回復(fù)中文出現(xiàn)亂碼問(wèn)題的解決方法,涉及php字符串編碼轉(zhuǎn)換的相關(guān)操作技巧,需要的朋友可以參考下2016-09-09PHP遞歸遍歷指定目錄的文件并統(tǒng)計(jì)文件數(shù)量的方法
這篇文章主要介紹了PHP遞歸遍歷指定目錄的文件并統(tǒng)計(jì)文件數(shù)量的方法,涉及php文件及目錄操作的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03Paypal實(shí)現(xiàn)循環(huán)扣款(訂閱)功能
本文主要介紹了Paypal實(shí)現(xiàn)循環(huán)扣款(訂閱)的思路與方法;并對(duì)如何使用Paypal的支付接口做下總結(jié),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03PHP實(shí)現(xiàn)的各類hash算法長(zhǎng)度及性能測(cè)試實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)的各類hash算法長(zhǎng)度及性能測(cè)試,結(jié)合具體實(shí)例形式分析了php hash計(jì)算的相關(guān)操作技巧,需要的朋友可以參考下2017-08-08php將數(shù)據(jù)庫(kù)導(dǎo)出成excel的方法
有時(shí)寫程序時(shí)后臺(tái)要求把大量數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)中,比如考試成績(jī)、電話簿等一般都是存放在excel中的數(shù)據(jù),這時(shí)我們可把excel導(dǎo)出成csv文件,然后通過(guò)以下程序即可批量導(dǎo)入數(shù)據(jù)到數(shù)據(jù)庫(kù)中2010-05-05