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. ios应用数据存储的常用方式 ios7.1应用沙盒

    归档:用某种格式保存某个对象,又称持久化. 1XML 属性列表plist归档(持久化) 2Preference(偏好设置) 3NSKeyedArchiver归档 4SQLite3 5Core Data ...

  2. DropMaster

    DropMaster 是4个原生 VCL 控件的集合,在 Delphi 和 C++Builder 中使用.虽然包含在 Delphi 和 C++Builder 中的 VCL 组件允许同一程序内窗口之间的 ...

  3. Installing Cygwin and Starting the SSH Daemon

    This chapter explains how to install Cygwin and start the SSH daemon on Microsoft Windows hosts. Thi ...

  4. FZU1683 矩阵

    //Accepted 220 KB 359 ms #include <cstdio> #include <cstring> ; int pp; struct matrix { ...

  5. TPLink 备份文件bin文件解析[续]

    Most routers allow to save and restore configuration from files. This is cool because you can edit t ...

  6. FreebuF黑客专访系列之吴翰清(刺):接下来几年,有两样东西必定会火

        注:吴翰清——中国网络安全圈最具影响力的人物之一.西安交大少年班毕业,大学期间创办民间组织幻影,阿里巴巴集团最年轻的高级安全专家,创新工场安全宝任联合副总裁,热门公众微信“道哥的黑板报”幕后作 ...

  7. SmartZoneOCR识别控件免费下载地址

    SmartZone™光学字符识别工具包,使开发人员能够进行带状区域光学字符识别,带状区域在表单处理应用程序中经常使用.本产品所包含的.NET控件以及ActiveX COM组件在内部使用两种单独的识别技 ...

  8. 迪士尼黑科技:爬墙机器人 VertiGo

    12 月 30 日,迪士尼研发出的一款爬墙机器人曝光了一段有趣的视频.从视频里可看出这个机器人碰到墙壁时迅速地作出反应爬了上去. 据了解,这个爬墙机器人名叫 VertiGo,由迪士尼研究中心和苏黎世联 ...

  9. 【LeetCode OJ】Triangle

    Problem Link: http://oj.leetcode.com/problems/triangle/ Let R[][] be a 2D array where R[i][j] (j < ...

  10. Android 中如何获取 H5 保存在 LocalStorage 的数据

    主要分三步: 写个接口,接收 Js 回调 添加到 WebView 主动调用 Js 获取 比如我要获取保存在 LocalStorage 中的 userKey 字段: 1.写个接口,接收 Js 回调 pu ...