$ _SERVER ['REQUEST_METHOD']返回GET insted POST

时间:2013-08-22 03:03:37

标签: php post get

我使用post方法创建一个表单:

  <form name="indexFormn" id="indexForm"  method="POST" action="page.php">
  <div class="AdminformDiv">
  <div class="errorbox">
      <?php
      if (!is_array($this->actionErrors)) {
        echo $this->actionErrors;
    }
    ?>
</div>
<div>
    <table border="0" cellpadding="0" cellspacing="0" style="width:700px">
        <tbody>
            <tr>
                <td style="width:128px">Amount</td>
                <td colspan="2">$ <?php echo $this->price;?> USD<td     style="width:270px">&nbsp;</td>
            </tr>
            <tr>

.....

但问题是当我做“var_dump($ _ SERVER ['REQUEST_METHOD']);”在我的PHP代码中我得到的所有时间“GET”而不是“POST”,我真的不知道为什么?

2 个答案:

答案 0 :(得分:1)

基本上大多数HTTP请求都是GET请求。和$ _SERVER ['REQUEST_METHOD']评估默认的GET方法。

您可以使用if($ _ POST)来检查它是否是POST。 (这是包含POST数据的数组。所有页面都设置了$ _GET,所以如果($ _ GET)无法判断它是否为GET)

当您提交表单时,您肯定会在“page.php”上获得POST方法。 尝试在此页面上找到方法并找到。

答案 1 :(得分:0)

我刚使用Codeigniter的MVC框架遇到了这个问题。这是我发现的:

我的表单中的属性不包括&#34; www&#34;在我的域名前面,但我的实际网址需要&#34; www&#34;。

即。我的表单有action="https://mydomain/something"但是如果我去了那个网址,我注意到我的网站主持人在开头添加了www:https://www.mydomain/something。 (我使用的是DreamHost,它是我选择的一个设置)

我希望这也是你的问题 - 尝试弄清楚真的很令人沮丧,但是一旦我得到了我的行动和实际的URL来同意&#34; www&#34;,我的请求方法就从GET变为POST