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之第九天
Oct 09 PHP
教你如何使用php session
Oct 28 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
Nov 08 PHP
详解php实现页面静态化原理
Jun 21 PHP
浅谈Laravel队列实现原理解决问题记录
Aug 19 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 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程序员工具
2008/05/26 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
laravel安装和配置教程
2014/10/29 PHP
php购物车实现方法
2015/01/03 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
Smarty3配置及入门语法
2017/02/22 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
2019/09/10 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
Add a Table to a Word Document
2007/06/15 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
JS中数组重排序方法
2016/11/11 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
node使用UEditor富文本编辑器的方法实例
2017/07/11 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
在Django的上下文中设置变量的方法
2015/07/20 Python
CentOS6.5设置Django开发环境
2016/10/13 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
Python二元算术运算常用方法解析
2020/09/15 Python
群众路线领导对照材料
2014/08/23 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
导游词300字
2015/02/13 职场文书
如何写辞职书
2015/02/26 职场文书
志愿服务心得体会
2016/01/15 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python