PHP防止页面刷新、重复提交数据

(2011-12-09 16:52:45)

标签:

it

分类: php技术相关

闲来无事看了一下php

session ,又在网上看了防止页面刷新重复提交数据,大部分写的啰啰嗦嗦的,而且大多是一样的COPY过来的连错别字都没有改 像臭婆娘的裹脚布。于是我自己也琢磨了一下,不知道也是不是裹脚布。
这里只说用SESSION 如何实现:
session
是作用于服务器端的数据,只要种植一次不再刷新其值是不会被改变的,就利用这一点就可以实现阻止用户重复提交数据,具体原理看看下面实现方法一下子就明白啦

1、提交页面
<?php
   
session_start();
   
$t=mktime();
   
$_SESSION['conn_id']=$t;
   
$_SESSION['conn']=$t;
   
var_dump($_SESSION);
   
var_dump($_COOKIE);
?>
<html>
<head>
<title>防止刷新提交或者重新提交</title>

</head>
<body>
<form method="POST"
action="get.php">
<span>username:</span><input
type="text" name="username"
id="username"><br>

<input type="hidden" name="hidden"
id="hidden" value="<?php echo
$_SESSION['conn_id']?>">
<span>message:</span><input
type="text" name="message"
id="message"><br>

<input type="submit"
value="submit">
</form>
</body>
</html>
2、服务器端接收页面
<?php
    
session_start();
   
 $username =
$_POST['username']."<br>";
   
 $message  =
$_POST['message'];
   
 $hide    
= $_POST['hidden'];
   
 var_dump($_SESSION);
   
if($hide==$_SESSION['conn'])
    {
   
    echo
"亲,提交成功了哦";
    }else
    {
    echo
"<script>alert('亲!就知道你会刷新提交,stop
你已经提交成功啦');</script>";
    echo
"<script>window.location.href='index.php';</script>";

}
   
session_destroy();
?>

PHP防止页面刷新、重复提交数据的更多相关文章

  1. ASP.Net中防止页面刷新重复提交的几种方法

    [摘要] 目前很多网站都要提交页面插入或更新数据库,比如留言本,一个用户提交留言后,如果按F5,就会重新提交一遍留言,导致数据库出现两条一模一样的留言,本文介绍了几种防止页面刷新,导致重复提交数据的方 ...

  2. 用HTTP状态码实现提交表单后刷新页面不重复提交

    正常情况下,表单提交后如果用户刷新页面会重复提交表单,有些情况下我们不希望表单重复提交,利用HTTP协议中的307状态码重定向页面可以实现这个目的.实例如下: 表单页面代码: <form act ...

  3. 页面按F5重复提交数据解决方法

    在Web开发中,必须面对的问题就是表单的重复提交问题(这里仅指F5刷新造成的重复提交),.NET中处理这个问题似乎没有什么好的方法. 在网上搜索得到的解决方法主要有两种,一种是直接让表单按钮失效,从而 ...

  4. .net防止刷新重复提交(转)

    net 防止重复提交 微软防止重复提交方案,修改版 Code ; i < cookie.Values.Count; i++)                     log.Info(" ...

  5. .NET防止重复提交数据

    最近在做一个销售系统的时候,操作人员提交数据的时候数据库竟然会出现多条数据相同的记录,并且是在1秒之内,客户反馈给我们,第一反应是重复提交的问题,检查了下代码,程序执行完成后应该是跳转到别的页面的,可 ...

  6. .netMVC:Web页面向后台提交数据的方式和选择

    众所周知Web前端页面主要由HTML/CSS/Javascript组成,当要通过与用户的交互实现各种功能时,就需要向后台提交一些数据或者操作.在Web世界里各种实现眼花缭乱,但究其根本,不外乎三种方式 ...

  7. Web页面向后台提交数据的方式和选择

    1.通过表单提交 这是HTML支持最传统的提交方法,需要创建表单,然后表单包含各种类型的表单元素,还要有一个提交按钮,通过提交按钮来提交到后台,这种方式提交后页面会刷新. 2.通过网页链接提交 可以在 ...

  8. php防止浏览器点击返回按钮重复提交数据

    <!--html中存放隐藏域数据--> <input type="hidden" value='{$sun_nums}' name='sub_nums' /> ...

  9. yii防止延迟用户多次点击按钮重复提交数据

    是不是被用户的行为所困扰? 一. 一个表单用户点击提交按钮了N次,这也导致了数据提交了N次. 为了此受到了测试的欺辱,受到了老板的批评? 不用怕,它就是来拯救你的. 第一步:打开命令行,敲入 comp ...

随机推荐

  1. JSON初步

    1.什么是JSON (1)JSON(Java Script Object Notation)是一种轻量级的数据交换语言, 以文本字符串为基础,且易于让人阅读 XML就是一个重量级的数据交换语言 (2) ...

  2. Cisco IOS Software Activation Command Reference

    clear license agent : to clear license agent statistics counters or connection statistics (in privil ...

  3. Android google map 两点之间的距离

    在Android google map中,有时候会碰到计算两地的距离,下面的辅助类就可以帮助你计算距离: public class DistanceHelper { /** Names for the ...

  4. android 通知栏 notifcation

    http://blog.csdn.net/guolin_blog/article/details/50945228  郭神的博客 final NotificationManager manager = ...

  5. [VMware WorkStation]虚拟机网络

    桥接模式下复制物理网络连接: 复制物理网卡连接状态,就是说把你指定的.本机的.真是网卡的状态信息复制给虚拟机的虚拟网卡,比如说你的本机真是网卡链接到了家用路由器的LAN口上,获得到了DHCP分配的地址 ...

  6. Hadoop c++开发

    假设你有上百G的数据,你要统计出这些数据中,含有某些你感兴趣的内容的数据的有多少条,你会怎么做?在硬件条件允许的情况下,用hadoop并行计算是一个不错的选择. 为了使本文得以清晰地说明,我们不妨假设 ...

  7. <二叉树的基本操作(有层次遍历)>

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define num 100 #define OK ...

  8. C++数据结构之List--线性实现

    List(表)类似于队列,不同于队列的是,list可以随机读取/修改/插入某一position,通过position这一位置信息就可以直接修改相应位置的元素.实现方式和队列的类似,多了个positio ...

  9. 2016 - 1- 19 NSOperationQueue的简单使用

    一:NSOperationQueue的作用: 1.NSOperation可以调用start方法来执行任务,但默认是同步执行. 2.如果将NSOperation加入到NSOperationQueue中, ...

  10. css3 绘制优惠券

    今天偶然发现了一个css3制作动画的地方,发现css3的径向渐变好难理解,幸亏有这里的大神介绍http://www.daqianduan.com/5989.html,这是优惠券的介绍 还有这个http ...