ユーザーがログインまたは登録できるMYSQLデータベースに接続されたアプリケーションを作成する。登録クラスでは、私は新しいユーザーを登録するためにOKHTTP3を使用します。 OKHTTP3は、クエリを実行するPHPページにリクエストを行います。ページの応答は常に同じです(コード:200、messagge: "empty")。 IDは、コードとmessaggeのようなPHPページの応答をカスタムにしたいので、登録が成功したかどうかを知ることができます。どうすればいいですか?PHPページのカスタムRESPONSEを作成する
できるだけ簡単にお願いします。
マイ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{
}
?>
** WARNING **:あなたが使用する必要がありますmysqli' '使用する場合は、[パラメータ化クエリ](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)を使ってクエリにユーザーデータを追加します。 **重大な[SQLインジェクションのバグ](http://bobby-tables.com/)を作成したため、文字列の補間または連結を使用してこれを実行しないでください。 ** '$ _POST'、' $ _GET'、**任意の**ユーザデータを直接クエリーに入れないでください。誰かがあなたのミスを悪用しようとすると非常に危険です。 – tadman
ありがとうございました。ありがとうございました:) –