2014-09-27 2 views
0

Из приложения Android я вызываю свой php-скрипт.Как извлечь параметры POST в php

HttpPost httppost = new HttpPost("http://www.smth.net/some.php"); 
try { 
// Add your data 
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
nameValuePairs.add(new BasicNameValuePair("pa", "555")); 
nameValuePairs.add(new BasicNameValuePair("pb", "550")); 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

// Execute HTTP Post Request 
HttpResponse response = httpclient.execute(httppost); 
} 

Как получить значение «pa» и «pb» в моем PHP-скрипте.

Я сделал $ _POST ['pa'] и urldecode ($ _ POST ['pa']), но оба из них дают мне пустую строку.

+1

Попробуйте использовать 'print_r ($ _ POST)', чтобы увидеть, что отправляется? –

+0

@MarkOrmesher, что бы это сделало? – Kraken

+2

он будет показывать все, что хранится в '$ _POST' - если оно пустое, то вы знаете, что проблема в Android-приложении. –

ответ

1

Вы можете использовать print_r($_POST) для отладки отправляемого.

Если это помогает, это то, как я отправить информацию из Android с помощью POST:

JSONObject requestBody = new JSONObject(); 
requestBody.put("pa", "550"); 
requestBody.put("pb", "550"); 

HttpPost requestBase = new HttpPost("url"); 
StringEntity stringEntity = new StringEntity(requestBody.toString()); 
stringEntity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 
requestBase.setEntity(stringEntity); 

HttpResponse response = httpclient.execute(requestBase); 

Я работаю из памяти здесь, хотя - есть несколько примерочных/улавливает вам нужно вставить.

Использование JSONObject может оказаться ненужным, но я нашел, что это дало мне лучшую гибкость и надежность.

1

Вы хотите использовать переменную окружения $_POST. Итак, в вашем коде вы можете использовать $_POST["pa"] и $_POST["pb"].

Если это не сработает, попробуйте использовать var_dump, чтобы проверить содержимое $_POST (var_dump($_POST)). Если он пуст, это проблема с вашим кодом Android.

+0

OP уже сказал, что они пытались использовать '$ _POST ['pa']', и это не сработало. –

+0

@MarkOrmesher Я пересмотрел свой ответ. –

Смежные вопросы