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 相关文章推荐
模仿OSO的论坛(二)
Oct 09 PHP
php max_execution_time执行时间问题
Jul 17 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
curl实现站外采集的方法和技巧
Jan 31 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
php+jQuery递归调用POST循环请求示例
Oct 14 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
PHP CURL使用详解
Mar 21 PHP
php进行md5加密简单实例方法
Sep 19 PHP
关于laravel 子查询 &amp; join的使用
Oct 16 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 信息采集程序代码
2009/03/17 PHP
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
php引用地址改变变量值的问题
2012/03/23 PHP
php一个找二层目录的小东东
2012/08/02 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
详解Document.Cookie
2015/12/25 Javascript
谈一谈bootstrap响应式布局
2016/05/23 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
使用70行Python代码实现一个递归下降解析器的教程
2015/04/17 Python
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
浅谈python jieba分词模块的基本用法
2017/11/09 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
英国最红的高街时尚品牌:Topshop
2016/08/05 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
愚人节活动策划方案
2014/03/11 职场文书
求职信标题怎么写
2014/05/26 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
2016年入党心得体会范文
2016/01/23 职场文书