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 相关文章推荐
将数组写入txt文件 var_export
Apr 21 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
PHP中数组的分组排序实例
Jun 01 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
May 13 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
thinkPHP事务操作简单案例分析
Oct 17 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 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读取文件内容后清空文件示例代码
2014/03/18 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
python修改操作系统时间的方法
2015/05/18 Python
Python中tell()方法的使用详解
2015/05/24 Python
Python抓取百度查询结果的方法
2015/07/08 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
单利模式及python实现方式详解
2018/03/20 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
快速了解Python开发环境Spyder
2020/06/29 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
金蝶的一道SQL笔试题
2012/12/18 面试题
百度吧主申请感言
2014/01/12 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
个人借款协议书范本
2014/11/17 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
追悼会答谢词范文
2015/09/29 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
在 Python 中利用 Pool 进行多线程
2022/04/24 Python
MySQL数据库 任意ip连接方法
2022/05/20 MySQL