简体   繁体   中英

Sending POST data from Android application to PHP script

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM