$_POST 在网络服务中不起作用?
$_POST is not working in web services?
我从 2 天起就卡住了,我正在使用 Web 服务,这个 Web 服务是从 iOS
发出请求,它们是用 $_POST
方法发送请求,但它不工作。
我尝试 print_r($_POST)
但它的 return 空白 Array()
也尝试 $_REQUEST
但它的 return 空白 Array()
GET
方法正常工作。
我也制作 <form>
并尝试使用 POST
方法提交并打印 $_POST
和 $_REQUEST
然后两者都可以正常工作。
当打印 $_SERVER['REQUEST_METHOD']
然后它 return GET
.
请大家知道这是怎么回事吗?
首先,我们需要查看您的代码才能全面帮助您。下面是一个如何结合 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>
在这里,我可以找到我的答案和问题。因为 mod_rewrite
是更改请求方法。如果您有影响操作 URL 的重写规则,您将无法读取 POST 变量。
您必须将此规则添加到 .htaccess
开头,以避免重写 url:
RewriteRule ^login.php - [PT]
我从 2 天起就卡住了,我正在使用 Web 服务,这个 Web 服务是从 iOS
发出请求,它们是用 $_POST
方法发送请求,但它不工作。
我尝试 print_r($_POST)
但它的 return 空白 Array()
也尝试 $_REQUEST
但它的 return 空白 Array()
GET
方法正常工作。
我也制作 <form>
并尝试使用 POST
方法提交并打印 $_POST
和 $_REQUEST
然后两者都可以正常工作。
当打印 $_SERVER['REQUEST_METHOD']
然后它 return GET
.
请大家知道这是怎么回事吗?
首先,我们需要查看您的代码才能全面帮助您。下面是一个如何结合 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>
在这里,我可以找到我的答案和问题。因为 mod_rewrite
是更改请求方法。如果您有影响操作 URL 的重写规则,您将无法读取 POST 变量。
您必须将此规则添加到 .htaccess
开头,以避免重写 url:
RewriteRule ^login.php - [PT]