PHP防止刷新重复提交页面的示例代码

 更新时间:2015年11月11日 11:22:22   投稿:mrr  
我们可以利用 PHP 的 Session 来避免这一点,Session 保存在服务器端,在 PHP 过程中改变 Session 变量的值后,即保存在服务器端,下次访问这个变量时,得到是新赋的值,所以,可以用一个 Session 变量记录表单提交的次数,大于1时,就不再处理表单中的数据

PHP防止刷新重复提交页面的示例代码

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

PHP防止刷新重复提交,通过不断刷新(Refresh or Reload)表单提交页面,可以重复提交表单内容,可以利用 PHP 的 Session 来避免这一点,Session 保存在服务器端,在 PHP 过程中改变 Session 变量的值后,即保存在服务器端,下次访问这个变量时,得到是新赋的值,所以,可以用一个 Session 变量记录表单提交的次数,大于1时,就不再处理表单中的数据。

核心代码

以下为引用内容:

if (isset($_POST['action']) && $_POST['action'] == 'submitted') { 
session_start(); 
if (isset($_SESSION['submit_time']) && $_SESSION['submit_time']==0){ 
print '<pre>'; 
print_r($_POST); 
print '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>'; 
print '</pre>'; 
$_SESSION['submit_time']=1; 
echo $_SESSION['submit_time']; 
unset($_SESSION['submit_time']);
} else { 
print '<pre>'; 
print_r($_POST); 
echo "However you have submitted"; 
print '</pre>'; 
} 
} else { 
session_start() or dir("session is not started"); 
$_SESSION['submit_time']= 0; 
// isset($_SESSION['submit_time']) or die ("session var is not created"); 
// echo $_SESSION['submit_time']; 
?> 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
Name: <input type="text" name="personal[name]"><br> 
Email: <input type="text" name="personal[email]"><br> 
Beer: <br> 
<select multiple name="beer[]"> 
<option value="warthog">Warthog</option> 
<option value="guinness">Guinness</option> 
</select><br> 
<input type="hidden" name="action" value="submitted"> 
<input type="submit" name="submit" value="submit me!"> 
</form> 
<?php 
} 
?>

相关文章

  • thinkphp5.1框架容器与依赖注入实例分析

    thinkphp5.1框架容器与依赖注入实例分析

    这篇文章主要介绍了thinkphp5.1框架容器与依赖注入,结合实例形式分析了thinkPHP5.1容器与依赖注入相关原理与使用技巧,需要的朋友可以参考下
    2019-07-07
  • PHP 图片文件上传实现代码

    PHP 图片文件上传实现代码

    通过 PHP,可以把文件上传到服务器。里面加入一些图片的判断,如果不加判断文件的类型就可以上传任意格式的文件。
    2010-12-12
  • ThinkPHP CURD方法之table方法详解

    ThinkPHP CURD方法之table方法详解

    ThinkPHP CURD方法的table方法主要用于指定操作的数据表。这篇文章主要介绍了table方法用法,需要的朋友可以参考下
    2014-06-06
  • PHP strstr函数原型源码分析

    PHP strstr函数原型源码分析

    这篇文章主要为大家介绍了PHP strstr函数原型源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • php处理抢购类功能的高并发请求

    php处理抢购类功能的高并发请求

    这篇文章主要为大家详细介绍了php处理抢购类功能的高并发请求,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • PHP父类调用子类方法的代码例子

    PHP父类调用子类方法的代码例子

    这篇文章主要介绍了PHP父类调用子类方法的代码例子,需要的朋友可以参考下
    2014-04-04
  • ThinkPHP之A方法实例讲解

    ThinkPHP之A方法实例讲解

    这篇文章主要介绍了ThinkPHP的A方法,需要的朋友可以参考下
    2014-06-06
  • 分享五个PHP7性能优化提升技巧

    分享五个PHP7性能优化提升技巧

    本文给大家分享五个PHP7性能优化提升技巧,对php7性能提升相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • Laravel6.18.19如何优雅的切换发件账户

    Laravel6.18.19如何优雅的切换发件账户

    这篇文章主要给大家介绍了关于Laravel6.18.19如何优雅的切换发件账户的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel6.18.19具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • PHP与Web页面交互例子的实现

    PHP与Web页面交互例子的实现

    本文主要介绍了PHP 与 Web 页面交互例子的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论