我被困了两天,我正在使用网络服务,该网络服务是从
iOS
发出请求,他们使用 $_POST
方法发送请求,但它不起作用。
我尝试
print_r($_POST)
,但它返回空白Array()
,也尝试使用$_REQUEST
,但它返回空白Array()
,只有GET
方法工作正常。
我还制作了
<form>
并尝试使用 POST
方法提交并打印 $_POST
和 $_REQUEST
然后两者都可以正常工作。
打印
$_SERVER['REQUEST_METHOD']
时返回GET
。
请问有人知道这是怎么回事吗?
在这里,我能够找到我的答案和问题。
mod_rewrite
是更改请求方法。如果您有影响操作 URL 的重写规则,您将无法读取 POST 变量。
您必须在开头添加此规则到
.htaccess
,以避免重写 url:
RewriteRule ^login.php - [PT]
首先,我们需要查看您的代码才能为您提供全面帮助。下面是一个如何将表单与 PHP 和
$_POST
结合使用的小示例。
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo "<pre>";
var_dump($_POST);
echo "</pre>";
exit;
}
?>
<!-- HTML -->
<form method="POST" action="<?= $_SERVER['PHP_SELF']; ?>">
<input type="text" name="element" />
<button type="submit">Submit form</button>
</form>