Reputation: 599
I am sending some values through HTTP Post
to my server from my Android emulator but the values are not being stored. My logcat is showing response code 200
and displaying the codes of the php
script as a http response. My database is fine as i am able to insert data in it. Any idea what might be the matter?
main.java
public void sendRegistrationIdToServer(String deviceId,
String registrationId) {
System.out.println(registrationId);
System.out.println(deviceId);
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://10.21.78.11/storePost.php?");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
// Get the deviceID
nameValuePairs.add(new BasicNameValuePair("devid", deviceId));
nameValuePairs.add(new BasicNameValuePair("regid",
registrationId));
//HttpProtocolParams.setUseExpectContinue(client.getParams(), false);
post.addHeader("Content-Type", "application/x-www-form-urlencoded");
post.setEntity(new UrlEncodedFormEntity(nameValuePairs,HTTP.UTF_8));
// Execute HTTP Post Request
HttpResponse response = client.execute(post);
int status = response.getStatusLine().getStatusCode();
System.out.println("HTTP Status = "+status);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
Log.e("HttpResponse", line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
storePost.php
<?php
mysql_connect("localhost", "root", "") or die (mysql_error());
mysql_select_db("DeviceID");
$regid = mysql_real_escape_string($_POST["regid"]);
$devid = mysql_real_escape_string($_POST["devid"]);
mysql_query("INSERT INTO Android(regID, devID) VALUES ('$regid', '$devid')") or die(mysql_error());
mysql_close();
?>
Upvotes: 1
Views: 429
Reputation: 101
Make sure your web server is configured to run php codes. If you go to storePost.php with your desktop browser and you still see the codes displayed in the browser, then it's a configuration issue with your webserver. Until you fix that, the Android code will still be returning php codes as a response.
If you're on a windows platform, you might want to check this out http://www.simplehelp.net/2008/08/25/how-to-install-and-setup-apache-mysql-and-php-in-windows/
or linux https://help.ubuntu.com/community/ApacheMySQLPHP
Even easier, check xampp out www.apachefriends.org/en/xampp.html
Upvotes: 1