php防止表单重复提交

网上的例子感觉有点问题

自己感觉目前应该如下

<?php

    session_start();

    //根据当前SESSION生成随机数

    $token = mt_rand(0,1000000);

    $_SESSION['token'] = $token;

?>
<!DOCTYPE>
<meta charset='utf8' >
<html>
<h1>表单防止重复提交</h1>
<form action='dotest.php'  method='post'>
<input type='text' name='username' />
<input type="hidden" name="token" value="<?=$token?>">
<input type='submit' value='提交' />
</form>
</html>

提交后验证

<meta charset='utf8' >
<?php

session_start();

    if($_POST['token'] == $_SESSION['token']){
        $_SESSION['token']='';
        // 处理该表单的语句,省略
        var_dump($_POST);
        var_dump($_SESSION);

    }else{
        echo '请不要刷新本页面或重复提交表单!';
    }


?>
原文地址:https://www.cnblogs.com/dk1988/p/3664346.html