2016-04-16 5 views
0

Ich versuche, Daten (eine Studenten-ID #) von einer Android-App zu einer PHP-Datei über den Körper einer HTTP-POST-Anfrage zu senden. Dann sendet die PHP-Datei Daten (nur eine Zeichenfolge für den Moment) zurück an die App. Mein PHP scheint jedoch nicht in der Lage zu sein, meine POST-Daten (Studenten-ID #) aus der Anfrage zu lesen.POST-Daten gesendet von Android-App nicht von PHP-Datei empfangen

Meine .java-Datei:

 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-Datei:

<?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); 

Meine Android App Antwortcode 200 empfängt und "test1" in der Antwort empfängt , aber nicht "test2", daher muss das Problem auftreten, wenn meine PHP-Datei versucht, die POST-Daten zu lesen: $id_in = trim($_POST['id_in']);

+1

Sie können POST() nicht für JSON verwenden, Sie müssen 'file_get_contents ('php: // input')' 'verwenden –

Antwort

0

vergessen Sie nicht, urlConnection.connect();

Verwandte Themen