【问题标题】:Receiving POST data in PHP from ASP app从 ASP 应用程序接收 PHP 中的 POST 数据
【发布时间】:2014-09-15 14:50:02
【问题描述】:

我有一个 PHP 页面设置为从基于 Windows 的 ASP.NET 应用程序接收 POST 数据。 PHP 脚本在数据库表中执行var_dump($_POST),我可以在 phpmyadmin 中查看该表以进行调试(尽管我还没有到这一步......)。然后,PHP 脚本回显completed 作为响应,ASP 应用程序接收到该响应作为“一切正常”消息并发送下一个POST

问题是 PHP 从不接收 POST 数据,我是否正确地处理了这个问题,还是我需要以不同于读取 $_POST 变量的方式接收 POST 数据?

更新:

include('database.class.php'); //this has a constructor that defines $link.

if(isset($_POST)) {
    if(empty($_POST)) {
        echo 'no data';
    } else {
        $data = var_dump($_POST);
        $query = "INSERT INTO `net_dump` (`dump`) VALUES ('$data')";
        mysqli_query($db -> link, $query) or die(mysqli_error($db -> link));
        echo 'completed';
    }
} else {
    echo 'no data';
}

最终更新:

ASP 应用程序发送 POST 内容类型为 JSON 的数据,使用 file_get_contents("php://input"); 修复

【问题讨论】:

  • 我们喜欢这个理论。但是,在我们看到您的代码之前,我们都无法参与进来
  • 当然希望您发布一些代码。
  • 你知道你实际上到达了 php 页面吗?您是否尝试过显示错误或在到达该页面时退出页面?
  • 应用程序肯定会到达那里...如果我在页面上回显“Hello PHP”,应用程序会打印“Hello PHP”。该应用程序是由第三方开发的,我现在将使用 PHP 更新问题。
  • @RonniSkansing 你是对的,这是一个编码问题。我知道存在可怕的注入风险,但这仅用于调试目的,不过感谢您的关注:)

标签: php asp.net post


【解决方案1】:

PHP 期望 POST 数据采用 native 格式,即:key1=value1&key2=value2 以不同的编码接收数据,即 JSON,您必须使用以下方式接收原始 POST 数据:@987654325 @

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    相关资源
    最近更新 更多