質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

2回答

6511閲覧

androidでPOST送信したデータをphpで受信できない

aaaaaaaaaaaaaa

総合スコア77

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2015/11/11 00:59

androidでPOST送信したデータをphpで受信できないのです。
android側でアプリを起動すると”test.txt”に改行のみ記入されるのでandroidでPHPも起動していると思います。
アンドロイドでPOST送信側に問題があるのでしょうか、それともPHP側に問題があるのかご教授をお願いします。

android側
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url = "http://****/test.php";
new UploadAsyncTask(this).execute(url);

} public class UploadAsyncTask extends AsyncTask<String, Integer, Integer> { private Activity MainActivity; public UploadAsyncTask(Activity activity) { MainActivity = activity; } @Override protected Integer doInBackground(String... params) { try { HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(params[0]); // ResponseHandler<String> responseHandler = new BasicResponseHandler(); List<NameValuePair> params2 = new ArrayList<NameValuePair>(); params2.add(new BasicNameValuePair("aaa", "aaa")); params2.add(new BasicNameValuePair("pas", "iii")); try { httpPost.setEntity(new UrlEncodedFormEntity(params2, "UTF-8")); HttpResponse httpResponse = httpClient.execute(httpPost); // ステータスコードを取得 int statusCode = httpResponse.getStatusLine().getStatusCode(); // レスポンスを取得 HttpEntity entity = httpResponse.getEntity(); String response = EntityUtils.toString(entity); entity.consumeContent(); // クライアントを終了させる httpClient.getConnectionManager().shutdown(); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return 0; }

}

PHP側
test.php

<?php $text=($_POST["aaa"]); $file ='test.txt' $naiyo=$text."\n"; file_put_contents($file,$naiyo,FILE_APPEND); ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

記載されているソースを試しましたが
php側で問題無く取得されている様です

test.txtのパーミッションの問題で
書き込めていないだけでは
ないでしょうか?

php側の最後に

php

1echo $_POST["aaa"];

とでも追記して

Android側の
String response = EntityUtils.toString(entity);
の「response」をログ表示すれば
仮にパーミッションが変更できない環境ても
php側で受け取れている事が確認出来ます

投稿2015/11/11 02:14

shaha

総合スコア166

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

statiCodeは何番になっていますか?

投稿2015/11/11 01:07

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問