我研究了所有的互联网,并找到了关于如何使用 http post 从 android 到 php 服务器的文章。我不是在寻找如何将数据从 android 传递到网站的示例。我正在寻找 POST 变量在 PHP 中始终为 NULL 的原因。是否有一些我需要在 PHP 上检查的设置(我已经检查了输出缓冲、最大帖子等)或为 HTTP POST 导入一个类,以便为 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());