如何判断从表单那边是刷新还是提交?因为表单第一次提交以后再刷新的话他也会插入数据,这个时候该如何判断呢?

解决方案 »

  1.   

    插入后,跳转就不会了。
    或者用token也可以。
      

  2.   

    找找$_SERVER['HTTP_REFERER']的规律,比如刷新,是上次和本次相同,提交不同
      

  3.   


    echo "<script>location.href='xxx.php'</script>";
    插入成功后,跳到别处去
      

  4.   

    token
    或者表单中加 formhash
      

  5.   

    防止php表单重复提交
    在php表单提交问题, 经常发现 刷新一下要让你重新提交数据问题!
    如果解决这个问题需要引入一个 cookie变量 来做 seesion 也行.例子1 t1.php<form id="form1" name="form1" method="post" action="t2.php">
        <p>说明
            <input type="text" name="titile" />
    </p>
        <p>
            <input type="submit" name="Submit" value="提交" />
    </p>
    </form>
     <?php 
    setcookie("onlypost", 't'); //设置cookie
    ?>
    t2.php<?phpif($_COOKIE['onlypost'] == 't'){
        
        print_r($_COOKIE);
        //处理提交的内容
        setcookie("onlypost", 'f'); //改变 cooike值 删除也可以了
    }// 其他代码
    ?>
      

  6.   

    提交后刷新浏览器缓存, php isset 判断是否存在即可
      

  7.   

    显示表单时候存一个sesssion id
    提交时候,检查有没有session id
    先把session id注销
    然后入库