0
AndroidアプリからHTTP POST要求の本文を介してPHPファイルにデータ(学生ID)を送信しようとしています。それから、PHPファイルはデータ(ただ今の文字列)をアプリケーションに送り返します。しかし、私のPHPは、私のPOSTデータ(学生ID#)を要求から読み取ることができないようです。アンドロイドアプリから送信されたPOSTデータがPHPファイルで受信されない
マイ.javaファイル:
JSONObject jsonParam = new JSONObject();
DataOutputStream printout;
String idIN = params[0];
jsonParam.put("id_in", idIN);
BufferedReader input;
String result;
URL url = null;
HttpURLConnection urlConnection = null;
url = new URL("http://10.0.2.2/project/connector.php");
urlConnection = (HttpURLConnection) url.openConnection();
//prepare request
urlConnection.setRequestProperty("Content-Type", "application/json");
urlConnection.setReadTimeout(10000);
urlConnection.setConnectTimeout(15000);
urlConnection.setRequestMethod("POST");
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
printout = new DataOutputStream(urlConnection.getOutputStream());
//printout.write(jsonParam);
printout.writeUTF(URLEncoder.encode(jsonParam.toString(),"UTF-8"));
//this returns: {"id_in":"1010101"}
Log.d("json out: ", jsonParam.toString());
printout.flush();
printout.close();
int response = -1;
response = urlConnection.getResponseCode();
input = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
result = input.readLine();
// This returns 200
Log.d("response code: ", result);
urlConnection.disconnect();
MY .PHPのFILE:私のAndroidアプリは200応答コードを受信しているし、それに応じて "TEST1" を受信している
<?php
header('Content-Type: text/html; charset=utf-8');
$id_in = "";
echo "test1";
$id_in = trim($_POST['id_in']);
echo "test2";
if (isset($_POST['id_in'])) {
echo "good";
}else{
echo "bad";
}
mysqli_close($myconn);
しかし、 "test2"ではなく、私のPHPファイルがPOSTデータを読み込もうとしたときに問題が発生しているはずです:$id_in = trim($_POST['id_in']);
POST()をJSONに使用することはできません。あなたは 'file_get_contents( 'php:// input')' –