0

我正在尝试从 android 应用程序向 PHP 脚本发送一些 POST 数据。PHP 脚本应该是什么样子的?这是我尝试过的,但它不起作用;

安卓代码:

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 脚本:

<?php
if(isset($_POST['id']))
    echo $_POST['id'];
if(isset($_POST['stringdata']))
    echo $_POST['stringdata'];
?>
4

1 回答 1

2

通过 POST 发送到 PHP 脚本的任何内容都以$_POST数组结尾。脚本将如何处理它是另一个问题。最简单的测试,将 $_POST 的内容写入名为“myfile.txt”的文件(注意每个请求都会覆盖文件的内容):

<?php

    file_put_contents("myfile.txt", print_r( $_POST, true ));

?>

在你的脚本中回显是没有意义的——你没有消耗服务器响应也没有显示它,那么它怎么能“工作”呢?

于 2012-11-19T17:27:35.327 回答