为了账号安全,请及时绑定邮箱和手机立即绑定

php防止刷新重复提交

标签:
PHP

1、F5 刷新

2、Ctrl+F5 刷新

3、“转至”或地址栏里回车刷新

这些快捷键的功能,主流浏览器都是相同的。

而这三种刷新方式会导致浏览器采取不同的缓存机制:

F5:不允许浏览器直接使用本地缓存,因此Last-Modified能起作用,但Expires无效

Ctrl+F5:是强制刷新,因此缓存机制失效

“转至”或地址栏里回车:正常的访问,Last-Modified和Expires都有效

总结:

浏览器在刷新时,把上一次的post参数给记忆下来并重新传递给了服务器,不管在这个过程中你是否做什么样的改动,他一概不予理会,而是忠实的把上一次所有POST的参数原封不动的重新发送给服务器

 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学习交流中,还会更多的列举出来。


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消