我被困2天,我正在使用网络服务,此网络服务是来自iOS
的请求,它们是使用$_POST
方法发送请求,但它无效。
我尝试print_r($_POST)
,但其返回空白Array()
并尝试使用$_REQUEST
,但其返回空白Array()
仅GET
方法正常工作。
我还制作<form>
并尝试使用POST
方法提交并同时打印$_POST
和$_REQUEST
,然后两者都正常工作。
打印$_SERVER['REQUEST_METHOD']
后,它会返回GET
。
请大家知道它是怎么发生的?
答案 0 :(得分:1)
在这里,我能够找到答案和问题。对于mod_rewrite
,更改请求方法。如果您有影响操作URL的重写规则,则无法读取POST变量。
您必须在开始时将此规则添加到.htaccess
,以避免重写网址:
RewriteRule ^login.php - [PT]
答案 1 :(得分:0)
首先,我们需要看到您的代码能够完全帮助您。下面是如何将表单与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>