【发布时间】: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 你是对的,这是一个编码问题。我知道存在可怕的注入风险,但这仅用于调试目的,不过感谢您的关注:)