Android — создать пользовательский ответ на странице PHP

Я создаю приложение, подключенное к базе данных MYSQL, где пользователь может войти или зарегистрироваться. В классе регистрации я использую OKHTTP3, чтобы зарегистрировать нового пользователя. OKHTTP3 делает запрос к странице php, которая выполняет запрос. Ответ страницы всегда одинаков (код: 200, сообщение: «пусто»). Я хотел бы настроить ответ php-страницы, такой как код и сообщение, чтобы я мог знать, была ли регистрация успешной или нет. Как мне это сделать?

Как можно проще, пожалуйста.

Мой запрос OKHTTP3:

String reg_name = username.getText().toString();
String reg_pass = password.getText().toString();
String reg_url = "https://collectcards.000webhostapp.com/register.php";

OkHttpClient client = new OkHttpClient();

RequestBody formBody = new FormBody.Builder()
.add("user_name", reg_name)
.add("user_pass", reg_pass)
.build();

Request request = new Request.Builder()
.url(reg_url)
.post(formBody)
.build();

client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
// Request failed
}

@Override
public void onResponse(Call call, Response response) throws IOException {
// Handle whatever comes back from the server
String res = response.message(); //MESSAGE IS ALWAYS EMPTY, COSE IS ALWAYS 200
if(res.equals("OK")) { //ID LIKE TO CUSTOM THE MESSAGGE TO SAY OK WHEN IT GOES WELL AND NOTOK WHEN IT FAIL
ok = true;
risposta = "Registrazione Avvenuta";
}else {
risposta = "Registrazione Fallita";
ok = false;
}
mHandler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(thisContext, risposta, Toast.LENGTH_LONG).show();
if (ok) {
Intent myIntent = new Intent(thisContext, mainMenuActivity.class);
thisContext.startActivity(myIntent);
}else{
password.setText("");
username.setText("");
}
}
});}
});

Моя страница php:

<?php

$connessione = mysqli_connect("localhost", "usr", "psw", "db");

$user_name = $_POST['user_name'];

$user_pass = $_POST['user_pass'];

$query =  "INSERT INTO `player` (`username`, `password`, `money`) VALUES ('".$user_name."', '".$user_pass."', '100');";

$risultato = mysqli_query($connessione, $query);

if($risultato){
//CUSTOM MESSAGGE
}else{

}

?>

0

Решение

Вы можете установить выводимый код с помощью http_response_code();Например:

http_response_code(500);

в случае ошибки сервера, 400 для плохого запроса и т. д. Для тела вы должны просто иметь возможность echo это прямо там, в теле. Я бы порекомендовал сделать что-то вроде json_encode() ‘массив данных.

И, пожалуйста, не используйте закрывающие теги PHP.

Почему бы опустить закрывающий тег?

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]