刷新页面时防止重复提交

刷新页面时防止重复提交

问:JSP怎样避免刷新页面时重复提交表单数据?
  1. 答:解决办法:在表单第一次到后台,在执行代码的最后部分加上重新指向本页,模仿我们首次进入本页的效果。
  2. 答:一、页面重定向。
    二、token防止重复提交。
    建议使用第二种
问:php如何避免刷新页面重复提交
  1. 答://先判断有无post的值,如果没有就不用执行sql语句哈
    if($_POST)
    {
    $title = isset($_POST['title']) ? tirm($_POST['title']) : '';
    $num = isset($_POST['num]) ? al($_POST['num]) : '';
    之后$sql=XXXXXXXXX,进行数据库插入
    }
  2. 答:可以采用ajax配合使用php可以防止刷新页面重复提交
    也可以使用框架同样可以防止
    你直接访问数据处理页面的时候,$_POST['title'],$_POST['num] 应该是空值,所以你增加一个判断,必须有具体的值,再进行sql操作。
  3. 答:定义一个操作的变量 ,变量满足某个条件才执行插入操作
  4. 答:用ajax来实现,这样地址栏会停留在localhost/add.php, 但是会提交到localhost/handle.php做数据库操作。
  5. 答:其实有一个不太好的办法
    就是当用户提交表单之后,用js弹出一个框,已成功提交,
    echo "<script>alert('已成功提交')</script>";
    然后用php的header或者js跳转到提交页面
    header("location:$post");
  6. 答:你直接访问数据处理页面的时候,$_POST['title'],$_POST['num] 应该是空值,所以你增加一个判断,必须有具体的值,再进行sql操作。
问:有没有简单的方法防止网页刷新等导致数据重复提交到数据库,求详细代码,谢谢!!!
  1. 答:防止网页刷新导致数据重复提交,可以在表单中添加Token令牌机制,这即保证了安全性(防CSRF攻击),又能够验证重复提交,每次生成表单页面时,会生成一个Token,在每次提交数据时,都要求检查Token,通过token检验合法的请求,可以多去看看实战教程。
  2. 答:使用ajax,而不是表单,就会解决这个问题.(刷新重复提交"等")
    假设你用jq
    $.post("test.php", { name: "John", time: "2pm" } , res=>{console.log(res)});
    假设你用axios
    axios.post('test.php',{ name: "John", time: "2pm" } ).then(res=>{console.log(response)})
  3. 答:你在添加之前,先查询一下数据库,如果存在这条记录就不添加,就是执行SQL的count函数,判断返回值是否是1,如果是1你就不提交
刷新页面时防止重复提交
下载Doc文档

猜你喜欢