Я пытаюсь получить ответ HTTP. Это не работает на стороне клиента.
Пытался получить ответ с «Почтальоном», и это сработало.
Код Android: `
//Connect to mysql.
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("www.example.com/register.php");
//JSON object.
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", register_username);
jsonObject.put("password", register_password);
//Entity builder to send value.
EntityBuilder entityBuilder = EntityBuilder.create();
entityBuilder.setText(jsonObject.toString());
httpPost.setEntity(entityBuilder.build());
//Getting response
HttpResponse response = httpClient.execute(httpPost);
String responseBody = EntityUtils.toString(response.getEntity());
//When I try to print it out, I get value of "org.apache.http.message.BasicHttpResponse@32857430"`
КОД PHP: `
JSON EXAMPLE:
<?php
$con=mysqli_connect("localhost","tx","xxx","txxxt");
$data = json_decode(file_get_contents('php://input'));
$username = $data->{'username'};
$password = $data->{'password'};$query = mysqli_query($con, "SELECT * FROM user WHERE username='$username'");
if(mysqli_num_rows($query) > 0){
$response = new stdClass();
$response->status="Already exists";
$response->code=0;
echo json_encode($response );}
else{
$response = new stdClass();
$response->status="Registered";
$response->code=1;
echo json_encode($response );
$sql_query = "insert into user values('$username','$password', 'null', 'null' ,'null');";
mysqli_query($con, $sql_query) or die (mysqli_error($con));
}mysqli_close($con);
?>
`
Любая помощь будет оценена!
Мне удалось решить проблему:
То, что я ошибся:
//JSON object.
JSONObject jsonObject = new JSONObject();
jsonObject.put("username", register_username);
jsonObject.put("password", register_password);
//Entity builder to send value.
EntityBuilder entityBuilder = EntityBuilder.create();
entityBuilder.setText(jsonObject.toString());
httpPost.setEntity(entityBuilder.build());
//Getting response
HttpResponse response = httpClient.execute(httpPost);
String responseBody = EntityUtils.toString(response.getEntity());
JSONObject responseObject = new JSONObject(responseBody);
Что я сделал, чтобы исправить
//JSON object.
JSONObject jsonObject = new JSONObject();
jsonObject.putOpt("username", register_username);
jsonObject.putOpt("password", register_password);
//Entity builder to send value.
EntityBuilder entityBuilder = EntityBuilder.create();
entityBuilder.setText(jsonObject.toString());
httpPost.setEntity(entityBuilder.build());
//Getting response
HttpResponse response = httpClient.execute(httpPost);
String responseBody = EntityUtils.toString(response.getEntity());
JSONObject responseObject = new JSONObject(responseBody);
Не уверен почему, но метод putOpt как-то исправил. Если вы знаете, почему, не стесняйтесь ответить.
Других решений пока нет …