php submit 提交了两次

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php submit 提交了两次相关的知识,希望对你有一定的参考价值。

注册页面仅仅只有一个指定post的表单,处理页面既负责insert into $_post中的参数,也负责输出页面,可是为什么我看数据库每次插入都会是两行,一行有数据,一行是空行?还有浏览器看网络控制台,每次submit都是两次请求,一次post,有参数,一次get,无参数,这个get是多余的。所以每次都会请求两次,这是为什么啊。

参考技术A 你的表单中,是不是用 JS 制作了表单验证的判断?

如果填写没有问题,表单就提交。。

如果是这样的话,你的提交按钮又使用 type="submit" 的话,你点击时,表单本身提交一次,JS 又帮你提交一次。就形成两次提交。。追问

没有用js

追答

那我只能说,你把代码发上来吧。。因为如果你的逻辑没有问题。。
那就是代码中有你没看出来的意外。

你的处理页是否在提交后,做了一次跳转?是指向自己的跳转。

参考技术B 你一个文件又负责输出界面,又负责处理post请求,那当然会有两次请求了
第一次get:请求这个界面
submit后post:提交数据

如果post后又有get,那只有检查代码了追问

写了检查代码,if($_post['submit'])可以了。
不过,怎样才能将显示和处理分开啊,我想post到一个纯处理页面,然后再从这个页面转到显示界面。

追答

表单提交的时候通过action指定接收post的文件,然后在该访问处理完成后通过header("location: xxx.php")回到要显示的页面,
注意header之前、之后不能有任何输出

本回答被提问者采纳
参考技术C 得看看源代码

以上是关于php submit 提交了两次的主要内容,如果未能解决你的问题,请参考以下文章

为啥在表单操作页面中结构键值显示两次像“提交,提交”?

layui点击提交两次的问题

Angular 2服务订阅了两次[重复]

Ajax提交了两次,但我只点击一次啊

PHP 文件执行了两次,但只在 Firefox 中执行

按钮的ajax请求时,一次点击两次提交的问题