A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本文章介绍了关于如何利用cookie来防止用户重复提交相同的数据的解决办法,原理是:如果数据通过了上边的两次验证,说明数据是合法有效的数据,这时候我们把提交的数据串接为一个字符串,并用MD5加密后得到一个MD5的值.
接着我们把这个值通过Cookie放进客户端,当用户下一次提交表单的时候我们就重新操作这一步,并且读出Cookie中的MD5值进行比较,如果相同就可断定用户提交两次提交的表单是相同的,否则替换这个Cookie!
代码如下:
  • //……
  • $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的值相同,告知用户提交失败
  • }
  • //……
  • ?>

2 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马