php通过记录IP来防止表单重复提交方法分析


Posted in PHP onDecember 16, 2014

本文实例分析了php通过记录IP来防止表单重复提交方法。分享给大家供大家参考。具体分析如下:

这个原理比较的简单就是用户第一次提交时我们记录提交用户的IP地址,这样如果用户在固定时间内再次提交表单就会提示重复提交了,这种做法通常用于在顶一下,支持一下这种应用中了,在防止数据重复提交是一个非常不好的选择.

例子,代码如下:

<?php 

session_start(); 

if(empty($_SESSION['ip']))//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库 

{ 

$_SESSION['ip']=$_SERVER['REMOTE_ADDR'];//第一次写入,为后面刷新或后退的判断做个铺垫 

mysql_query("INSERT INTO admin(id, name, age) VALUES(123, '姚明', 25)");//写入数据库操作 

}

else//已经有第一次写入后的操作,也就不再写入数据库 

{ 

echo '请不要重复提交表单或刷新页面';//写一些已经写入的提示或其它东西 

} 

?>

还有办法就是:

1:在页面生成随机码,也就是每次提交随机码都不一样,在提交的时候验证随机码!

2:在提交的时候,验证如果数据存在,就不提交了.

如果你想防止重复提交入库IP不是最好的办法,我们可以在数据库中查询是不是有相同记录并且IP是不是想同再进行处理.

例子,代码如下:

$sql ="select * from 表名 where buy_tel='电话' and IP='$ip'   ";// and $time-buy_date<60 

$query = $db->query( $sql ); 

if( $db->rows( $query ) ) 

{ 

echo('<script>alert("您己提交过了,请勿重复提交!");</script>'); 

} 

else 

{ 

//进行入库操作 

}

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP实现WEB动态网页静态
Oct 09 PHP
php cookie的操作实现代码(登录)
Dec 29 PHP
PHP时间格式控制符对照表分享
Jul 23 PHP
使用ob系列函数实现PHP网站页面静态化
Aug 13 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
写一段简单的PHP建立文件夹代码
Jan 06 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
使用xampp搭建运行php虚拟主机的详细步骤
Oct 21 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
Sep 17 PHP
PHP使用glob函数遍历目录或文件夹的方法
Dec 16 #PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 #PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 #PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 #PHP
php使用ereg验证文件上传的方法
Dec 16 #PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 #PHP
php中最简单的字符串匹配算法
Dec 16 #PHP
You might like
php array_flip() 删除数组重复元素
2009/01/14 PHP
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
JavaScript手机振动API
2016/06/11 Javascript
js时间控件只显示年月
2017/01/08 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
python中pass语句用法实例分析
2015/04/30 Python
简单介绍Python中的floor()方法
2015/05/15 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
详解python里的命名规范
2018/07/16 Python
Python中遍历列表的方法总结
2019/06/27 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
python实现人工蜂群算法
2020/09/18 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
数据库连接池的工作原理
2012/09/26 面试题
营业员个人总结的自我评价
2013/10/25 职场文书
工程部文员岗位职责
2015/02/04 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
python基础之类方法和静态方法
2021/10/24 Python