【问题标题】:$_POST is not working in web services?$_POST 在 Web 服务中不起作用?
【发布时间】:2017-03-05 22:24:26
【问题描述】:

我被困住了 2 天,我正在使用 Web 服务,这个 Web 服务是从 iOS 发出请求,他们使用 $_POST 方法发送请求,但它不起作用。

我尝试print_r($_POST),但它返回空白Array(),也尝试使用$_REQUEST,但它的返回空白Array()只有GET方法工作正常。

我还制作了<form> 并尝试使用POST 方法提交并打印$_POST$_REQUEST 然后两者都可以正常工作。

当打印$_SERVER['REQUEST_METHOD'] 时返回GET

请知道这是怎么回事的人吗?

【问题讨论】:

  • 没有代码?没有解决方案...你能分享一些相关的代码吗? ;)
  • 如果您不在问题中发布代码,您希望任何人提供帮助?这是一个猜谜游戏吗?
  • 根据您的描述,您没有通过 POST 发送请求,或者您在发送通过 GET 的请求时做错了什么。 PHP 不会莫名其妙地将传入的 POST 请求更改为 GET。
  • 我正在使用网络服务,他们这个网络服务是从 iOS 设备发送请求。我只是打印$_POST,它会返回空白
  • @apokryfos ,我正在使用 POST 方法从 POSTMAN 发送请求。

标签: php ios web-services api webservice-client


【解决方案1】:

在这里,我可以找到我的答案和问题。 mod_rewrite 是更改请求方法。如果您有影响操作 URL 的重写规则,您将无法读取 POST 变量。

你必须把这条规则添加到.htaccess,在开头,以避免重写url:

RewriteRule ^login.php - [PT]

【讨论】:

    【解决方案2】:

    首先,我们需要查看您的代码才能为您提供全面的帮助。下面是一个小例子,说明如何结合 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>
    

    【讨论】:

    • 这里是网络服务而不是表单。
    • 处理原理相同,但您需要向我们提供一些示例代码以便我们提供帮助。
    • 我用你的例子试过它的工作正常......我被网络服务困住了兄弟
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2013-06-13
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    相关资源
    最近更新 更多