关灯
开启左侧

[建站交流] 解决php表单重复提交实现方法

[复制链接]
mmsl 发表于 2015-10-6 15:16:36 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦。
/* * php中如何防止表单的重复提交 */
session_start();
if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库 $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次写入,为后面刷新或后退的判断做个铺垫 //...........//写入数据库操作
} else {//已经有第一次写入后的操作,也就不再写入数据库 echo '请不要再次刷新和后退'; //写一些已经写入的提示或其它东西
}
?>
具体原理
session范围变量token来防止。
1. 开启session:
session_start();
2. 如果有表单提交
if (isset($token))
token以hidden的形式包含在form当中。


3. 如果是重复提交表单
if ($_SESSION["token"] != $token) { // 不让重复提交,在此处理 // header("location:".$_SERVER['PHP_SELF']);
} else { // 正常的表单提交,在此处理 // echo "已提交";
}
4. 设置token值
$token = mt_rand(0,1000000);
2$_SESSION['token'] = $token;
以上就是关于如何解决php表单重复提交实现方法,希望对大家的学习有所帮助。

更多关于建站文章请关注【IT精英团】互联网增值中心

 

精彩评论10

正序浏览
figcy 发表于 2015-10-6 15:18:07 | 显示全部楼层
 
我.......伤心
 
元升本 发表于 2015-10-6 15:19:21 | 显示全部楼层
 
唉!猪!你怎么了?
 
hvsloertvv 发表于 2015-10-6 15:21:51 | 显示全部楼层
 
呵呵 都没人想我~~
 
kwjvtwzx 发表于 2015-10-6 15:23:21 | 显示全部楼层
 
怎么这么跟别人不一样类~
 
rynavrhsna 发表于 2015-10-6 15:28:36 | 显示全部楼层
 
真的 好久都没有这么笑了~ 好开心哦
 
upmmbjsqyq 发表于 2015-10-6 15:31:28 | 显示全部楼层
 
注:偶是女滴,千真万确,毋庸置疑!
 
eemmy2bd9u 发表于 2015-10-6 15:41:43 | 显示全部楼层
 
这是怎么了啊??
 
GoodyFouppy 发表于 2015-10-6 15:45:19 | 显示全部楼层
 
一个个全都骑到老大头上来了...
 
zxrntcquwf 发表于 2015-10-6 15:51:54 | 显示全部楼层
 
原来...发神经是这样的啊...
 
hgqbtsdcfc 发表于 2015-10-6 15:53:05 | 显示全部楼层
 
哇~~` 你是不是投胎滴时候走错地方啦~``
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

77帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )