The following code attempts to POST a String from Android to PHP.
Code on Android:
HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost("http://MAMP-SERVER/post.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("username", "Andro"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
httpclient.execute(post);
Log.i("POSTED", "YOUR USERNAME");
} catch (ClientProtocolException e) {
Log.e("Client Protocol Exception", "Err "+ e.getMessage());
} catch (IOException e) {
Log.e("IO Exception","Err "+ e.getMessage());
}
Code on PHP:
$test=$_REQUEST["username"]; print $_REQUEST["username"];
Have you tried:
$test=$_POST["username"]; print $_POST["username"];
?
Are you sure you're actually posting the data?
You could try sending the POST request more like below methods. Then you should be able to simply get your value in the PHP with $_POST
public void execute(final RequestMethod method)
throws IllegalArgumentException, UnsupportedEncodingException {
switch (method) {
case GET:
// add parameters
String combinedParams = "";
if (!params.isEmpty()) {
combinedParams += "?";
for (NameValuePair p : params) {
String paramString = p.getName() + "="
+ URLEncoder.encode(p.getValue(), "UTF-8");
if (combinedParams.length() > 1) {
combinedParams += "&" + paramString;
} else {
combinedParams += paramString;
}
}
}
HttpGet getRequest = new HttpGet(remoteUrl + combinedParams);
// add headers
for (NameValuePair h : headers) {
getRequest.addHeader(h.getName(), h.getValue());
}
executeRequest(getRequest, remoteUrl);
break;
case POST:
HttpPost postRequest = new HttpPost(remoteUrl);
// add headers
for (NameValuePair h : headers) {
postRequest.addHeader(h.getName(), h.getValue());
}
if (!params.isEmpty()) {
postRequest.setEntity(new UrlEncodedFormEntity(
(List<? extends NameValuePair>) params, HTTP.UTF_8));
}
executeRequest(postRequest, remoteUrl);
break;
default:
break;
}
}
And
private void executeRequest(final HttpUriRequest request, final String url) {
HttpClient client = new DefaultHttpClient();
HttpResponse httpResponse;
try {
httpResponse = client.execute(request);
responseCode = httpResponse.getStatusLine().getStatusCode();
errorMessage = httpResponse.getStatusLine().getReasonPhrase();
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
responseStream = entity.getContent();
if (!needStreamInsteadOfString) {
response = convertStreamToString(responseStream);
// Closing the input stream will trigger connection release
responseStream.close();
}
}
} catch (ClientProtocolException e) {
client.getConnectionManager().shutdown();
e.printStackTrace();
} catch (IOException e) {
client.getConnectionManager().shutdown();
e.printStackTrace();
}
}