- 浏览: 112540 次
文章分类
最新评论
本文使用session来解决。
Session保存在服务器端,在PHP过程中改变Session变量的值后,即保存在服务器端,下次访问这个变量时,得到是新赋的值,所以,可以用一个Session变量记录表单提交的次数,大于1时,就不在处理表单中的数据。
测试代码:
上面代码有个缺点:
没有明确销毁Session,失效的Session文件可能仍然保留在服务器文件系统中。
哪位有好的办法,还请分享一下。本文原始链接:http://www.jbxue.com/article/7183.html
Session保存在服务器端,在PHP过程中改变Session变量的值后,即保存在服务器端,下次访问这个变量时,得到是新赋的值,所以,可以用一个Session变量记录表单提交的次数,大于1时,就不在处理表单中的数据。
测试代码:
01 <?php 02 /** 03 * 防止刷新 重复提交 04 * site www.jbxue.com 05 */ 06 if (isset($_POST['action']) && $_POST['action'] == 'submitted') { 07 session_start(); 08 isset($_SESSION['submit_time']) or die ("no session"); 09 if ($_SESSION['submit_time']==0){ 10 print '<pre>'; 11 12 print_r($_POST); 13 print '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>'; 14 15 print '</pre>'; 16 $_SESSION['submit_time']=1; 17 echo $_SESSION['submit_time']; 18 } else { 19 print '<pre>'; 20 21 print_r($_POST); 22 echo "However you have submitted"; 23 print '</pre>'; 24 } 25 } else { 26 session_start() or dir("session is not started"); 27 $_SESSION['submit_time']= 0; 28 // isset($_SESSION['submit_time']) or die ("session var is not created"); 29 // echo $_SESSION['submit_time']; 30 ?> 31 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 32 Name: <input type="text" name="personal[name]"><br> 33 Email: <input type="text" name="personal[email]"><br> 34 Beer: <br> 35 <select multiple name="beer[]"> 36 <option value="warthog">Warthog</option> 37 <option value="guinness">Guinness</option> 38 </select><br> 39 <input type="hidden" name="action" value="submitted"> 40 <input type="submit" name="submit" value="submit me!"> 41 </form> 42 <?php 43 } 44 ?>
上面代码有个缺点:
没有明确销毁Session,失效的Session文件可能仍然保留在服务器文件系统中。
哪位有好的办法,还请分享一下。本文原始链接:http://www.jbxue.com/article/7183.html
发表评论
-
php生成随机密码的自定义函数(转载分享)
2015-03-24 09:16 486php生成随机密码的自定义函数 发布时间:2015- ... -
PHP生成随机数的两种方法
2014-09-24 06:04 1390PHP生成随机数的两种方法 这里整理了php ... -
PHP分页代码实例分享
2014-09-19 19:39 593PHP分页代码实例教程 分享一段php分页代码,很简单, ... -
PHP读取csv文件的内容的方法。
2014-08-05 17:06 631PHP读取csv文件的内容的方法。 一次性读取csv文件内 ... -
分享---PHP下载文件的两种方法
2014-08-05 17:02 385PHP下载文件的两种方法与代码。 分享PHP实现下载文件 ... -
ThinkPHP URL重写问题实例详解
2014-06-22 22:13 763在使用thinkphp过程中,经常需要去掉URL路径中的in ... -
一个php 异常处理程序
2014-06-22 22:11 628一个php的异常处理程序,功能很简单当发生重大错误时,写日志 ... -
PHP清除指定html标签二个例子
2014-05-12 12:00 666在php中内置了一个html标签清除函数strip_tags ... -
php生成短网址的思路与方法(推荐)
2014-05-06 17:02 942生成短网址的思路以及使用php生成短网址的实现方法。 ... -
JS计算网页停留时间代码
2014-05-05 17:00 2167JS计算网页停留时间的代码。 <!DOCTYPE H ... -
php生成短网址的一例代码(仿微博短网址)
2014-05-05 16:58 573分享一个php短网址的生成代码。 <!DOCTYPE ... -
汉字转化为拼音(php版)
2014-03-21 16:54 485分享:汉字转化为拼音(php版) 很多服务器对于中文文件名支持 ... -
PHP 实现汉字转化拼音的函数
2014-03-21 16:48 864将汉字转拼音的代码,可以加到common文件里做公共函数。 代 ... -
php中文url转码实例
2014-03-21 16:45 2553PHP URL编码,可以使用 urlencode() 或者 r ... -
PHP图片验证码实例
2014-03-21 11:16 358在网上看到一个图片验证码,挻漂亮的,但是取回来发现,好像有 ... -
PHP中的类与面向对象
2014-03-20 09:15 510PHP编程中类与对象的区别: 类是抽象的,代表一类事物。 对象 ... -
PHP自动判断字符集并转码的详解
2013-10-12 06:12 1066PHP自动判断字符集并转码的实例参考。 原理: 因为gb2 ... -
解析PHP正则提取或替换img标记属性
2013-10-12 06:09 647对PHP正则提取或替换img标记属性进行了详细的分析介绍。 ... -
php 购物车的例子
2013-10-07 21:10 560php购物车的简单例子,使用cookie存购物车ID,db存购 ... -
php网上商城购物车设计代码分享
2013-10-07 21:07 2362一个可以包含促销活动的购物车,所以比较其他简单的购物车,会 ...
相关推荐
在PHP编程中,防止用户因误操作或意外刷新页面导致的重复提交是一个常见的需求。当用户填写表单并提交后,如果不采取措施,再次刷新页面会导致同样的数据被再次提交到服务器,这可能会对数据库造成不必要的影响,...
如果用户试图通过刷新浏览器页面或者多次点击提交按钮来重复提交表单,由于“fsess”的值在首次提交后已经更新为新的时间戳,因此再次提交时会因为时间戳不一致而被拒绝。 需要注意的是,为了确保时间戳能够正确...
当我们结合PHP和Ajax技术来实现远程加载并防止重复提交时,我们可以创建一个高效且用户体验良好的系统。下面将详细介绍这个主题。 首先,PHP是服务器端的一种脚本语言,常用于构建动态网页。Ajax(Asynchronous ...
但是,如果用户在未完成跳转之前刷新页面,仍然可能会导致重复提交。 3. 数据库唯一索引约束。通过在数据库层面设置唯一索引可以避免数据的重复,但这并不是一个专门用于防止重复提交的措施,更多地是为保证数据库...
在Web开发中,防止表单重复提交是一个重要的问题,它涉及到数据一致性、用户体验以及系统稳定性。重复提交可能会导致数据库中的数据出现错误或者冗余,因此需要采取措施来防止这种情况发生。以下是一些防止表单重复...
此方法可以有效防止用户在页面跳转前重复点击提交按钮,但用户仍有可能通过浏览器的刷新功能来重复提交表单。 3. Token令牌法:这是一种服务器端解决方案,通过在表单中添加一个隐藏的Token字段,在提交数据时验证...
通过这两种方法,我们可以有效地防止因用户误操作而导致的表单重复提交。在实际开发中,结合前端的JavaScript验证也能进一步增强用户体验,例如在提交表单后禁用提交按钮,防止用户快速点击。 总的来说,...
总的来说,防止表单重复提交是一个多方面考虑的问题,需要结合业务需求、安全性、用户体验等多个因素来选择合适的方法。在实际应用中,常常需要结合多种策略以达到最佳效果。无论选择哪种方法,都需要确保其不会影响...
在PHP编程中,防止表单重复提交是一个重要的实践,它能确保数据的准确性和一致性,避免因为用户意外或恶意的多次点击导致的数据冗余。以下是对防止表单重复提交的几种常用方法的详细说明: 1. **使用JavaScript禁用...
尽管提供的压缩包文件名为“新建文件夹”,但通常这类文件可能包含示例代码、教程文档或案例研究,用于展示如何实施上述的防止表单重复提交的策略。可能包括HTML和JavaScript代码片段,用于前端禁用按钮;也可能包含...
在PHP开发中,防止表单重复提交是一个重要的环节,主要是为了防止用户因为刷新页面或者多次点击提交按钮而导致服务器端接收到重复的数据。重复提交不仅可能对数据库造成不必要的压力,还可能会对业务逻辑产生错误的...
用户提交表单后,处理数据并使用`header()`函数重定向到其他页面,防止用户刷新导致重复提交。例如: ```php if (isset($_POST['submit'])) { header('location:success.php'); exit(); // 防止继续执行下面的...
### AJAX判断商品是否重复知识点详解 #### 一、概述 ...它不仅能够有效防止重复添加相同商品的问题,还能极大地提升用户的交互体验。开发者可以根据具体需求调整代码细节,以适应不同的应用场景。
以下是一个简单的PHP防止表单重复提交的实现,基于token验证的示例: 首先,我们需要创建一个`set_token()`函数,用于生成token。在这个例子中,使用`md5()`函数对当前时间戳进行加密,生成一个随机的32位字符串...
在PHP环境中,防止页面重复刷新是一项重要的功能,它有助于避免用户意外或恶意地多次提交表单数据,导致服务器资源的浪费或数据的错误处理。在本文中,我们将深入探讨如何利用PHP的session机制来实现这一目标。 ...
在PHP开发中,防止恶意刷新和刷票是一个重要的安全措施,因为这可以帮助避免无效数据的产生,保护服务器资源,以及确保投票或数据提交的公正性。以下是一些防止恶意刷新和刷票的方法: 1. **使用验证码(CAPTCHA)*...
例如,当用户输入用户名或邮箱时,可以立即检查这些信息是否已被其他用户占用,防止用户提交无效或重复的信息。 5. **前端验证**:Ajax可以用于前端验证,比如检查用户输入是否符合特定格式,如邮箱的格式,密码的...