我使用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"> </td>
</tr>
<tr>
.....
但问题是当我做“var_dump($ _ SERVER ['REQUEST_METHOD']);”在我的PHP代码中我得到的所有时间“GET”而不是“POST”,我真的不知道为什么?
答案 0 :(得分:1)
基本上大多数HTTP请求都是GET请求。和$ _SERVER ['REQUEST_METHOD']评估默认的GET方法。
您可以使用if($ _ POST)来检查它是否是POST。 (这是包含POST数据的数组。所有页面都设置了$ _GET,所以如果($ _ GET)无法判断它是否为GET)
当您提交表单时,您肯定会在“page.php”上获得POST方法。 尝试在此页面上找到方法并找到。
答案 1 :(得分:0)
我刚使用Codeigniter的MVC框架遇到了这个问题。这是我发现的:
我的表单中的即。我的表单有action="https://mydomain/something"
但是如果我去了那个网址,我注意到我的网站主持人在开头添加了www:https://www.mydomain/something
。 (我使用的是DreamHost,它是我选择的一个设置)
我希望这也是你的问题 - 尝试弄清楚真的很令人沮丧,但是一旦我得到了我的行动和实际的URL来同意&#34; www&#34;,我的请求方法就从GET变为POST