###Androidでpostした文字列をphpに表示
Androidのボタンをタップした後、phpに文字列を表示させるプログラムを作っているのですが、phpに文字列が表示されません。
phpサーバは、XAMPPを使用しております。
Androidstudioのログには、「あああああああああ」と表示されています。
Android、PHPともに初心者ですので、表現が不適切な部分があるかと思いますが、
ご意見いただけると幸いです。よろしくお願いいたします。
###MainActivity.java
import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import java.io.IOException; import okhttp3.FormBody; import okhttp3.Headers; import okhttp3.MediaType; import okhttp3.MultipartBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; import okio.Buffer; public class MainActivity extends AppCompatActivity { private String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Button button = (Button) v; getRequestWithPOST(button);//POST } }); } public void getRequestWithPOST(final Button button) { button.setEnabled(false); new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... params) { String result = null; RequestBody formBody = new FormBody.Builder() .add("post1", "あああああああああ") .build(); Request request = new Request.Builder() .url("http://xxx.xxx.xxx.xxx/php/sample.php") .post(formBody) .build(); OkHttpClient client = new OkHttpClient(); try { Response response = client.newCall(request).execute(); result = response.body().string(); } catch (IOException e) { e.printStackTrace(); } return result; } @Override protected void onPostExecute(String result) { Log.d(TAG, result); button.setEnabled(true); } }.execute(); } }
###sample.php
<?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = $_POST['post1']; echo $_POST['post1']; } else { echo "データが来てません"; } ?>
回答3件
あなたの回答
tips
プレビュー