1
我研究了所有的互聯網,並發現如何使用http post從android到php服務器的文章。我不在尋找如何將數據從android傳遞到網站的例子。我正在尋找爲什麼POST變量在PHP中總是NULL的原因。有什麼設置我需要檢查PHP(我已檢查輸出緩衝,最大後等)或導入類的HTTP POST正常工作的POST變量。Android Java Http Post到PHP服務器始終爲NULL?
下面的代碼基本上將值插入到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());
感謝您的快速響應。我檢查了v.log,它在android上顯示爲value1和value2的空白。我整個週末都在看代碼,看不出有什麼問題。 – LisaNerdyPower 2012-08-12 16:39:51
你是什麼意思v.log在android上顯示value1和value2的空白? value1和value2是在PHP端和Android端檢索的,你正在使用硬編碼值嗎? – bpatel 2012-08-12 17:01:45
有誰知道你是否需要SSL設置才能通過HTTP POST將數據從android設備傳遞到服務器? – LisaNerdyPower 2012-08-19 14:18:16