php防止刷新页面重复提交

作为phper,我们在开发和学习php过程中,难免要经常的接受处理表单数据,然而处理表单的时候总会有一个问题,困扰大家,刷新页面重复提交的问题。如何防止刷新页面重复提交呢?

其实在php学习中我们会有很多的方法,比如最简单的,我们可以采用,提交成功后,进行跳转的方法。但是这样做,有时候,会有很多瓶颈,比如,如果我们的页面有很多内容需要加载,尤其是很多跟后台打交道,这样如果跳转重新加载页面的话,可能会对服务器造成压力。 这里我们可以采用另外一种方法,来防止刷新页面重复提交,以便大家更好的学习php。

我们可以利用session来解决。我们首先新建一个session,并赋值,第一次提交后改变session的值,当第二次再此提交此内容时,如果不是我们的赋值,就不在处理传过来的数据。
如:
<?php
 session_start();
 $_SESSION['num'] = 0;
 if(isset($_POST['action'] && $_POST['action']=='submit')){
  if($_SESSION['num'] == 0){
   echo '<a href="'.$_SERVER['PHP_SELF'].'">'请再次尝试</a>;'
   $_SESSION['num'] = 1;
  }else{
   echo '您已经提交过了,请不要重复提交';
  }
 }
?>
前台页面没有给出,相信大家都明白前面该怎么写。其实诸如防止刷新页面重复提交的方法,还有很多,在以后php学习交流中,还会更多的列举出来。

时间: 2025-01-02 16:38:15

php防止刷新页面重复提交的相关文章

用struts2 token防止刷新页面重复提交什么让服务器跳转到当前页面?里面的数据不变的

问题描述 用struts2 token防止刷新页面重复提交.是跳转到一个提示错误页面,怎么能跳转到第一次不刷新时的页面.参数值都带过去 解决方案 你可以在提示页面里使用jsWindow.location今天跳转到原来的页面,并且把参数跟在url的后面

asp.net 处理F5刷新页面重复提交页面的一个思路_实用技巧

当提交完一个页面后,如果我们再次点击F5刷新该页面的话,会弹出一个提示,提示我们如果继续,则会重新发送提交我们刚才提交的内容,要是类似付款或一次性的操作,我们不应该这样操作,否则会造成重复提交的问题.解决这个问题,我们可以通过如下思路来处理: 1. 提交成功后,将一个成功状态存入session中,然后重新载入该页面. 2. 在page_load方法中,判定该session字段的状态值,如果为成功,则显示成功信息,否则显示错误提示,紧跟着通过Session.Remove()方法来清空该缓存即可.

用InternetGetCookieEx抓取完整cookie 但刷新页面会提交两次数据包想获取第二个数据包的cookie

问题描述 用InternetGetCookieEx抓取完整cookie但刷新页面会提交两次数据包想获取第二个数据包的cookie

寻求提交不刷新方法F5刷新不重复提交ASPX

问题描述 用ASP.NET做个一个提交一直会出现页面刷新和F5重复提交寻求好方法解决防止右击,和屏蔽F5键 解决方案 解决方案二:提交后禁用按钮,解决方案三:http://blog.csdn.net/firewolffeng/article/details/1933694解决方案四:用ajaxControl控件...把整个from包起来...提交一次后按F5不重复提交也没有那个重复提交的提示我这么用的,你也试试吧.解决方案五:可以用hidden和session做一个同步标识,初始化hidden和

防止php表单提交刷新自动重复提交

js 阻止重复提交 第一个是将告诉浏览器禁用submit按钮的表单被提交之后,第二个是将更改按钮的文本来给用户一些知道发生了什么.这是代码添加到你的表单标记:onsubmit="document.getElementById('myButton').disabled=true;document.getElementById('myButton').value='Submitting, please wait...';"你的表单标记将类似于:  或jquery做法 $(document)

打听个事,jsp页面重复提交后怎么处理?

问题描述 jsp页面上有个按钮可以 引用 解决方案 如果后台是一条一条执行的话,执行前先根据业务判断一下是否是重复执行处理每条数据的地方可能要加锁解决方案二:不知道你的提交是什么动作,删除吗? 可以用同步试试解决方案三:按钮点击后,搞一个显示进度条的遮罩,这样啥都点不了了,可以做成通用的.解决方案四:可以在添加数据之前先删除数据,然后将新增和删除放在同一个事物里面.这样就算是重复提交,也是第二次提交的数据为准.第一次提交的数据已经被删除掉了.解决方案五:提交完成后, 把按钮灰点, 不让点, 或者

asp.net防止刷新时重复提交(可禁用工具条刷新按钮)_实用技巧

前段时间遇到了需要禁用刷新的需求,f5按钮就不说了,简单的js就能把它禁用,但是工具条上的刷新按钮却傻傻干不掉. 如果简单的在刷新时重新加载画面,通过window.location.href="url"可以很容易的实现,但是需求是要求在刷新时什么都不做,保留画面的状态,这下子可就复杂化了. asp.net中分辨请求是重新请求还是通过刷新按钮再次请求不是很方便,为了实现这个效果,试过了很多的方式,一下面的两种为例 1. 复制代码 代码如下: private bool pageRefres

ASP.NET 后退问题 .net 防止刷新 后退重复提交

原文 http://www.cnblogs.com/super-cj/archive/2012/11/07/2758472.html 让网页"立即过时"有时候是一个很有用的功能,比如防止用户使用后退来破坏程序逻辑:程序主动刷新某个页面等等.在ASP中最有效的方法是: Response.CacheControl = "no-cache" 就这么一句足矣,Response.Expires=-1之类的其实都不需要,也不符合我们的要求. 但到了ASP.Net的时代,当我还糊

16.7. 防止恶意刷新与重复提交

在开发中会经常会遇到这样的需求,例如投票模块,要防止恶意刷票,下面来介绍几种解决方按: 1.来源IP / MAC地址限制 这个是使用最多也是最广泛的方式,通过获取访问用户的来源IP地址,来限制在一段时间内所能使用的票数. 经常用电脑的老手是很容易绕出这种限制的.PPP/PPPoE拨号用户,可以通过断线重拨来更换IP地址: 每个网络位置会有一个全球唯一的MAC位址.所以我们也可以根据MAC地址限制用户访问 2.Cookies / Session验证 这种方式用的也比较多,清除浏览器Cookies,