程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php利用cookie防止重復提交解決辦法

php利用cookie防止重復提交解決辦法

編輯:關於PHP編程

本文章介紹了關於如何利用cookie來防止用戶重復提交相同的數據的解決辦法,

原理是
如果數據通過了上邊的兩次驗證,說明數據是合法有效的數據。這時候我們把提交的數據串接為一個字符串,並用MD5加密後得到一個MD5的值,接著我們把這個值通過Cookie放進客戶端,當用戶下一次提交表單的時候我們就重新操作這一步,並且讀出Cookie中的MD5值,進行比較,如果相同就可斷定用戶提交兩次提交的表單是相同的,否則替換這個Cookie!

 

 代碼如下 復制代碼 <?php
//……
$lasthash = $HTTP_COOKIE_VARS["lasthash"]; //讀取上一次設置的Cookie值
 
if(count($HTTP_POST_VARS)) {
    $long = "";
    while(list($key,$value)=each($HTTP_POST_VARS))$long.=$value;
    $hash = md5($long);
    setcookie("lasthash",$hash,time()+60*60*24*30); //重新設置cookie
}
 
if($lasthash!=$hash) {
    // 如果兩次的MD5值不一樣就對數據進行進一步操作
}
else {
    //如果兩次MD5的值相同,告知用戶提交失敗
}
//……
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved