У меня проблема здесь .. Моё приложение должно отправлять 3 значения в базу данных из текстового поля etName, etEmail и etPassword
но вместо этого оно ничего не отправляет ... Я новичокв Android, и я не знаю некоторые вещи, которые я написал в своем коде, поскольку я следую некоторым учебникам
это в моем коде для регистра
package com.xulucreatives.taxisiyaya;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class RegisterActivity extends AppCompatActivity {
EditText etName,etEmail,etPassword;
Button btnReg;
final String url_Register ="http://taxinote.000webhostapp.com/register_user.php";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
etName = findViewById(R.id.RM);
etEmail = findViewById(R.id.et_email);
etPassword = findViewById(R.id.et_password);
btnReg = findViewById(R.id.btn_reg);
btnReg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String Name = etName.getText().toString();
String Email = etEmail.getText().toString();
String Password = etPassword.getText().toString();
new RegisterUser().execute(Name,Email,Password);
// Toast.makeText(RegisterActivity.this,"Im working you bitch",Toast.LENGTH_LONG).show();
}
});
}
public class RegisterUser extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
String Name = strings[0];
String Email = strings[1];
String Password = strings[2];
String finalURL = url_Register + "?user_name" + Name +
"&user_id"+ Email +
"&user_password"+ Password;
OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder()
.url(finalURL)
.build();
Response response = null;
try{
response = okHttpClient.newCall(request).execute();
if(response.isSuccessful())
{
String result = response.body().string();
if(result.equalsIgnoreCase("uaser registered successfully"))
{
Toast.makeText(RegisterActivity.this,"Registered Successfully",Toast.LENGTH_LONG).show();
Intent i = new Intent(RegisterActivity.this, LoginActivity.class);
startActivity(i);
finish();
}
else if(result.equalsIgnoreCase("user already exists")){
Toast.makeText(RegisterActivity.this,"User Already Exists",Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(RegisterActivity.this,"Ooops ! Ran into a problem , try again",Toast.LENGTH_LONG).show();
}
}
else{
Toast.makeText(RegisterActivity.this,"response not successful!! :/",Toast.LENGTH_LONG).show();
}
}
catch(Exception e){
e.printStackTrace();
}
return null;
}
}
public void showToast(final String Text){
this.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(RegisterActivity.this,Text,Toast.LENGTH_LONG).show();
}
});
}
}
user_name, user_id и user_passwordиз моего php-файла на сервере
<?php
require_once('connect.php');
$userName = $_GET['user_name'];
$userID = $_GET['user_id'];
$userPassword = $_GET['user_password'];
$query = "select * from users where email = '$userID'";
$recordExists = mysqli_fetch_array(mysqli_query($conn, $query));
if(isset($recordExists)){
echo 'User already exists';
}else{
$query = "INSERT INTO users (name, email, password) VALUES ('$userName', '$userID', '$userPassword')";
if(mysqli_query($conn, $query)){
echo 'User registered successfully';
}else{
echo 'oops! please try again!';
}
}
?>
, но он не работает, я не знаю, почему