私はすべてのインターネットを調査し、アンドロイドからphpサーバーへのhttp投稿の使用方法に関する記事を見つけました。Android から Web サイトにデータを渡す方法の例を探しているわけではありません。PHP で POST 変数が常に NULL である理由を探しています。PHPで確認する必要がある設定はありますか(出力バッファリング、最大投稿などを確認しました)、またはPOST変数に対してHTTP POSTが正しく機能するようにクラスをインポートします。
以下のコードは、基本的に mysql データベースに値を挿入します。POST 変数が空白であるため、空白行が挿入されます。これにより、サーバー/データベースに接続されていることが確認されましたが、POST 値が渡されていません。何か案が?=)
以下にコードを示します。
//Java Code-------------------------------------------------
public static void executeHttpGet(Context context, String urlName){
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
String postURL = G.GetUrl(urlName);
HttpPost httpPost = new HttpPost(postURL);
httpPost.setHeader("Accept", "text/html,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
try {
nameValuePairs.add(new BasicNameValuePair("value1", "My Name"));
nameValuePairs.add(new BasicNameValuePair("value2", "My Address"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs,HTTP.UTF_8));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httpPost);
} catch (ClientProtocolException e) {
} catch (IOException e) {
}
}
//PHP code ----------------------------------------------------
connectMySQL();
mysql_query("
INSERT INTO myhome(myname,myaddress,createdate)
VALUES('{$_POST['value1']}','{$_POST['value2']}',NOW())
;")
or die(mysql_error());