PHP防止post重複提交資料的簡單例子_PHP教程

來源:互聯網
上載者:User
在某帝國面試的時候問題了這個題: 怎麼處理post提交重複的問題, 後來跟@暖陽交流,他說記錄時間,我沒有明白,我想的是用session在表單頁面記錄下,然後提交頁面判斷,如果相等則視為成功,並清空session,但有個問題是如果表單頁面是html的呢,乍辦?要不調個php驗證的頁面?類似驗證碼的功能. 還有的說用 header頭設定到期時間...但沒試.以下是我php寫的,經測試可用.

複製代碼 代碼如下:
//開啟session
session_start();

//如果有提交標識
if(isset($_GET['action']) && $_GET['action'] === 'save'){

//如果有session且跟傳過來的值一樣才算提交
if(isset($_SESSION['__open_auth']) && isset($_POST['auth']) && $_SESSION['__open_auth'] == $_POST['auth']){
print_r($_POST);
$_SESSION['__open_auth'] = null;//清空
} else {

//走起
header("location: post.php");
}
exit();
}

//授權
$auth = $_SESSION['__open_auth'] = time();

?>




post





http://www.bkjia.com/PHPjc/780484.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/780484.htmlTechArticle在某帝國面試的時候問題了這個題: 怎麼處理post提交重複的問題, 後來跟@暖陽交流,他說記錄時間,我沒有明白,我想的是用session在表單頁面記...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.