繁体   English   中英

为什么$ _SERVER ['REQUEST_METHOD']总是GET?

[英]Why is $_SERVER['REQUEST_METHOD'] always GET?

我对此有点困惑。 我希望这是我错过的非常明显的事情! 我有一个非常简单的形式:

<form class="form-signin" role="form" name="login" method="POST" action="/page">
  <input type="password" name="password" />
  <input type="submit" value="Sign in" />
</form>

注意:此页面位于/page并在以下HTML之后回显:

/page我在文件的最顶部有这个:

<?php
var_dump($_SERVER['REQUEST_METHOD']);

出于某种原因,当我提交此表单时,它总是显示为GET 如果我将action="/page"部分取出,那么它会显示为POST 我在这里错过了什么?

注意:即使我加载页面,然后在上面的var_dump()调用之后退出,它仍然显示GET

在检查员的时间表中,我看到了这个请求:

在此输入图像描述

感谢对我的问题的评论,我发现答案是在apache配置中。 看起来,因为index.php文件位于名为page的文件夹中,所以apache会自动重定向到带有斜杠的页面。 这是Apache directorySlash文档中的默认设置。

当他们警告不要将其关闭时,我会将网址更改为我发布的内容。 或者,当然,我可以使用适当的重写规则设置添加.htaccess文件。

谢谢大家的帮助! 作为旁注,Safari的检查员在这种情况下让我有点想要。 Chrome被证明是一个更好的测试选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM