PHP表单设置POST提交却返回GET请求的问题求助
表单POST提交变GET的排查方案
先解决最可能的直接问题:按钮类型缺失
你的表单里的<button>标签没有显式指定type="submit",部分浏览器会默认将其识别为type="button"——这种类型的按钮点击后不会触发表单的POST提交,反而可能导致页面以GET方式刷新。
修改login.php的表单代码,给按钮加上type="submit":
<form action="includes/login.inc.php" method="post"> <button type="submit">Login</button> </form>
其他排查方向
- 检查表单嵌套:HTML不允许表单嵌套,若页面存在
<form>嵌套<form>的情况,会导致表单行为异常,务必保证表单独立。 - 排查JavaScript干扰:检查页面中是否有JS代码修改了表单的
method属性,或是通过location.href这类方式跳转(这类跳转属于GET请求)。 - 排除服务器端重定向:如果
login.inc.php后续添加了重定向代码(比如header("Location: ...")),浏览器会将POST请求转为GET请求执行重定向,确认代码中无此类逻辑。 - 测试浏览器环境:用无痕模式打开页面测试,排除浏览器缓存、插件(如广告拦截、隐私工具)对请求的修改。
内容的提问来源于stack exchange,提问作者Aksel Salins
相关产品推荐
相关产品推荐

