无法在PHP中获取JSON数据

无法在PHP中获取JSON数据,php,android,json,Php,Android,Json,我正在创建一个android应用程序,并通过JSON将android应用程序中的用户详细信息提交给服务器端的php。但在服务器端,我没有得到JSON数据。在服务器端php中,来自android应用程序的JSON似乎为空。我使用的是POST方法。我知道我的POST方法代码在服务器端的PHP中是错误的。但我不知道如何解决这个问题 下面是我获取JSON的PHP代码。每次我收到同样的信息: 缺少必需字段 代码: 可能您应该先解码json字符串,然后再检查$\u POST['Firstname']等 假设

我正在创建一个android应用程序,并通过JSON将android应用程序中的用户详细信息提交给服务器端的php。但在服务器端,我没有得到JSON数据。在服务器端php中,来自android应用程序的JSON似乎为空。我使用的是POST方法。我知道我的POST方法代码在服务器端的PHP中是错误的。但我不知道如何解决这个问题

下面是我获取JSON的PHP代码。每次我收到同样的信息:

缺少必需字段

代码:


可能您应该先解码json字符串,然后再检查$\u POST['Firstname']等

假设您从应用程序发送一个名为data的字符串。在php上,您应该执行以下操作:

$data = json_decode($_POST['data']);
and then check if $data contains the data you neeed by doing:
if (isset($data->Firstname) && isset($data->Lastname) etc...){
...
...
}
如果我能给你一个建议,最好是你直接从你的应用程序中检查数据完整性,而不是在你的服务器上检查数据完整性,这样就有机会腾出一些服务器资源


正如Jay Blanchard已经提到的,不要像那样使用mysql,否则您将暴露于mysql注入中…

请注意,它们不再被维护,并且正在使用。而是学习,并使用或。您也会想好的,我会这样做,但我甚至无法到达那一行,我的代码在检查第一个if条件后被终止。如果条件变为false,编译器不会将其编译为我的第一个if条件。您是否得到任何数据?您确定您没有使用GET-http请求类型吗?如果打印_r$_POST;打印为空,这意味着你没有得到任何数据。。。要测试GET:print\u r$\u GET;这基本上是你的另一个问题的重复:在那里观察答案并尝试一下。我可以建议你做的第一件事是在屏幕上打印$\u POST变量的内容,方法是:var\u dump$\u POST;或者更清楚地看到,您0正在从应用程序发送数据,可能无法从浏览器访问页面。执行类似操作:echo json_encode$_POST并在logCat上打印您得到的结果。我可以在logCat中获得json数组,但在php页面中,我什么也得不到[]。您可以将您的应用程序的代码发布到将数据发送到服务器的位置吗?
$data = json_decode($_POST['data']);
and then check if $data contains the data you neeed by doing:
if (isset($data->Firstname) && isset($data->Lastname) etc...){
...
...
}