2016-04-16 37 views
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']);

+1

POST()をJSONに使用することはできません。あなたは 'file_get_contents( 'php:// input')' –

答えて

0

urlConnection.connect()を使用することを忘れないでください。

関連する問題