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的超级变量$_GET获取HTML表单(Form) 数据
May 07 PHP
php使用反射插入对象示例分享
Mar 11 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 PHP
PHP中捕获超时事件的方法实例
Feb 12 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
Mar 10 PHP
php注册登录系统简化版
Dec 28 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 PHP
PHP XML Expat解析器知识点总结
Feb 15 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 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&amp;&amp;mysql)五
2006/10/09 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
php取出数组单个值的方法
2018/03/12 PHP
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
javascript if条件判断方法小结
2014/05/17 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
JavaScript常用数组算法小结
2016/02/13 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
layui分页效果实现代码
2017/05/19 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
详解Python time库的使用
2019/10/10 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
售后服务经理岗位职责
2014/02/25 职场文书
作风建设演讲稿
2014/05/23 职场文书
企业总经理任命书
2014/06/05 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技