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

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();
?>

posted @ 2016-03-17 16:11  没事就更  阅读(1932)  评论(0编辑  收藏  举报