如何将PHP博客应用中表单的请求方法从GET改为POST?
问题描述
我正在用PHP开发一个简单的CRUD博客应用,已经搞定了查询和创建功能,现在做删除的时候卡壳了:用Bootstrap模态框做删除确认,通过隐藏输入框传ID,也建了表单,但表单死活用的是GET请求,试了好几种办法都改不成POST。
后端测试代码如下:
echo $_SERVER["REQUEST_METHOD"]; if (isset($_POST["del"])) { echo "Hi"; } else { echo "Bye"; }
解决思路
先从前端表单代码查起,大概率是这几个地方出问题:
- 表单标签没明确指定POST方法:
确保你的模态框里的表单是这么写的,别漏了method="POST":<form action="你的处理脚本.php" method="POST"> <input type="hidden" name="del" value="目标ID"> <button type="submit" class="btn btn-danger">确认删除</button> </form> - 避免表单嵌套:如果模态框里还套了其他表单,浏览器只会认最外层的,内层表单的设置无效,得把嵌套结构拆了。
- 按钮类型别错:确认按钮必须是
type="submit",要是用了type="button"还自己写JS跳转,那肯定是GET请求;如果用JS提交,要调用表单的submit()方法,别直接拼URL跳转。 - 检查表单提交路径:确保
action属性指向的是你写后端代码的页面,别提交到其他没处理POST的页面,导致你看到的REQUEST_METHOD不对。
要是还没解决,把模态框的完整HTML代码贴出来,能更快找到问题。
内容的提问来源于stack exchange,提问作者Yahya Baloch
相关产品推荐
相关产品推荐

