I'm trying to send some POST data to a PHP script from an android application. How should the PHP script look like? This is what I tried but it doesn't work;
Android code:
class SendPostReqAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.alex26.0fees.net/script.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
return null;
}
@Override
protected void onPostExecute(String result) {
}
}
PHP script:
<?php
if(isset($_POST['id']))
echo $_POST['id'];
if(isset($_POST['stringdata']))
echo $_POST['stringdata'];
?>
Anything sent via POST to PHP script ends in $_POST
array. What the script will do with it is another question. Simplest test, that writes content of $_POST to a file named "myfile.txt" (note each request would overwrite content of the file):
<?php
file_put_contents("myfile.txt", print_r( $_POST, true ));
?>
echoing in your script is pointless - you are not consuming server response nor displaying it so how could it "work"?
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.