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