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

  • 相关阅读:
    pytest之断言
    python之self
    python标准数据结构类型
    pytest之fixture
    python之继承和多态
    安卓UI自动化,pytest+UIautomator2+allure+jenkins
    airtest
    Python中单下划线开头的特性
    系统默认分配的共享内存太小,导致zabbix_server无法启动
    运行yum报错Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
  • 原文地址:https://www.cnblogs.com/gaogaoxingxing/p/5287818.html
Copyright © 2020-2023  润新知