2012-04-02 5 views
0

У меня возникла проблема с отправкой данных на Android с помощью httpPost. Я нашел некоторый пример, и у меня нет никаких ошибок или исключений, но на php-сайте $ _POST всегда пусто/пусто.Java - Android не может отправлять данные с помощью httpPost

Так вот мой код:

HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://xxxxxxx.com/test.php"); 

    try { 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
     nameValuePairs.add(new BasicNameValuePair("v", "123")); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     HttpResponse response = httpclient.execute(httppost); 
     String responseText = EntityUtils.toString(response.getEntity()); 
     Toast.makeText(this, responseText, 5000).show(); 
     System.out.println(responseText); 

    } catch (ClientProtocolException e) { 
    } catch (IOException e) { 
    } 

PHP:

<?php $t=$_POST['v']; print $t; ?>

и не печатает 123 ...

дополнение:

Как вы можете см. строку String responseText. В этой строке я вижу, что есть «123», что я хотел напечатать.

+0

вы добавили необходимые разрешения ...? – ngesh

+0

Я делаю и в responsetext я возвращаюсь к исходному сайту php, поэтому кажется, что я могу достичь его – user1162316

+0

@ user1162316: но у вас есть только один элемент в nameValuePairs и создан для (2); и попробуйте '$ t = $ _ REQUEST ['v']' вместо '$ t = $ _ POST ['v']' –

ответ

3
<?php $t=$_POST['v']; print $POST['v']; ?> 

У вас есть опечатка в печати (вам не хватает «_»).

Изменение печати $POST['v']; для печати $_POST['v']; или просто print $t;

+0

жаль, что я заметил это, пока я сделал это сообщение, просто забудьте исправьте это. Причина моей ошибки не в этом: S – user1162316

+0

Ну, тогда я советую вам поместить некоторый код в вашу обработку exeception (отпечатки). Вы не знаете, возвращает ли она ошибку, как у вас есть . Теперь – Araw

+0

я добавил следующие строки поймать (Exception е) { System.out.println (e.getMessage());} и я редактировал свой пост, пожалуйста, прочитайте это :) но не исключение – user1162316

0

Попробуйте это:

$putdata = fopen("php://input", "r"); 
while ($data = fread($putdata, 1024)) 
    $inputdata .= $data; 
Смежные вопросы