HTTP POST en Android

Quiero hacer un simple HTTPRequest a un script php y he tratado de hacer la más básica de las aplicaciones para obtener la funcionalidad de trabajo. Quiero probar que mi aplicación está enviando los datos que lo alimentan por lo que he hecho la aplicación android enviar a un servidor y que el servidor se supone que me envíe los datos que he puesto en la aplicación. El código para la función "postData" es enviar datos de android al servidor y el código para "default.php" es el archivo php que recibe en un servidor web que luego reenvía los datos a mi dirección de correo electrónico (no se da). Aquí está el código

public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://somewhere.net/default.php"); try { // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("thename", "Steve")); nameValuePairs.add(new BasicNameValuePair("theage", "24")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request //HttpResponse response = httpclient.execute(httppost); // Execute HTTP Post Request ResponseHandler<String> responseHandler=new BasicResponseHandler(); String responseBody = httpclient.execute(httppost, responseHandler); //Just display the response back displayToastMessage(responseBody); } catch (ClientProtocolException e) { // TODO Auto-generated catch block } catch (IOException e) { // TODO Auto-generated catch block } } 

así como para "default.php"

 <?php $thename=$_GET["thename"]; $theage=$_GET["theage"]; $to = "[email protected]"; $subject = "Android"; $body = "Hi,\n\nHow are you," . $thename . "?\n\nAt " . $theage . " you are getting old."; if (mail($to, $subject, $body)) { echo("<p>Message successfully sent!</p>"); } else { echo("<p>Message delivery failed...</p>"); } ?> 

Aquí están los enlaces al código en pastebin: postData () y default.php

Recibo un correo electrónico sin embargo los datos enviados "thename" y "theage" parecen estar vacíos. El correo electrónico exacto recibido es "Hola, ¿Cómo estás,? En que se está haciendo viejo." que me indica que el servidor está enviando thename y theage como vacío. ¿Alguno de ustedes ha intentado esto antes? ¿Qué estoy haciendo incorrectamente? Muchas gracias por tomar el tiempo para leer mi código y si es posible responder a mis preguntas.

EDIT: Muy idiota de mí -> el "GETS" necesidad de cambiar a "POST". Dejándolo aquí para fines de archivo 🙂

Está utilizando $_GET lugar de $_POST para obtener los valores de los datos publicados. Usted quiere

 <?php $thename=$_POST["thename"]; $theage=$_POST["theage"]; 

está enviando una solicitud POST pero su script php usa variables GET

tratar

  $thename=$_POST["thename"]; $theage=$_POST["theage"]; 

El método utilizado en Android y PHP debe ser el mismo, GET o POST .

En este caso puede cambiar el PHP a esto –

 $thename = $_POST["thename"]; $theage = $_POST["theage"]; 

O el chang ethe Android lado a esto –

 HttpGet httppost = new HttpGet("http://somewhere.net/default.php"); 
  • Subiendo la imagen de android a un servidor PHP
  • SHA1 en Java y PHP con resultados diferentes
  • La mejor manera de proteger la API REST privada sin la autenticación de usuarios para aplicaciones para móviles
  • Escritorio remoto basado en web para conectarse a android
  • Enviar solicitud de correo utilizando Volley y recibir en PHP
  • Interacción con Android App con Laravel Action methods
  • Cómo enviar parámetros con archivo en android
  • Envío de "alerta / notificación" al teléfono celular desde el sitio web
  • ¿Cómo detectar si un dispositivo móvil es emulado por Google Chrome?
  • ¿Cómo funciona la sincronización de datos y cómo la uso en aplicaciones cliente-servidor?
  • Cómo hacer push notificación de android de php
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.