I want to make the query to the remote database but it sends me an error that it can not convert to JSONObject I have tried with several methods but nothing
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inicio__sesion);
loading=findViewById(R.id.loading);
Nombre=findViewById(R.id.TV_usu);
Password=findViewById(R.id.TV_pass);
btn_iniciar=findViewById(R.id.Btn_iniciar);
tv_registro= findViewById(R.id.tv_registro);
btn_iniciar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String mNom = Nombre.getText().toString().trim();
String mPass = Password.getText().toString().trim();
if (!mNom.isEmpty() || !mPass.isEmpty()){
Login(mNom, mPass);
}else{
Nombre.setError("favor de verificar Nombre");
Password.setError("favor de verificar Contraseña");
}
}
});
tv_registro.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intentreg=new Intent(Inicio_Sesion.this, Registro.class);
Inicio_Sesion.this.startActivity(intentreg);
}
});
}
private void Login (final String Nombre, final String Password){
loading.setVisibility(View.VISIBLE);
btn_iniciar.setVisibility(View.GONE);
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_LOGIN,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
String success = jsonObject.getString("success");
JSONArray jsonArray = jsonObject.getJSONArray("login");
if (success.equals("1")){
for (int i=0; i < jsonArray.length(); i++){
JSONObject object = jsonArray.getJSONObject(i);
String Nombre = object.getString("Nombre").trim();
String Password = object.getString("Password").trim();
Toast.makeText(Inicio_Sesion.this,
"SUCCESS LOGIN. \nTU NOMBRE: "
+Nombre+"\n TU CONTRASEÑA: "
+Password, Toast.LENGTH_SHORT)
.show();
loading.setVisibility(View.GONE);
}
}
}catch (JSONException e){
e.printStackTrace();
loading.setVisibility(View.GONE);
btn_iniciar.setVisibility(View.VISIBLE);
Toast.makeText(Inicio_Sesion.this, "ERROR "+e.toString(), Toast.LENGTH_SHORT).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
loading.setVisibility(View.GONE);
btn_iniciar.setVisibility(View.VISIBLE);
Toast.makeText(Inicio_Sesion.this, "ERROR22 "+error.toString(), Toast.LENGTH_SHORT).show();
}
})
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("Nombre", Nombre);
params.put("Password", Password);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
stringRequest.setRetryPolicy(new RetryPolicy() {
@Override
public int getCurrentTimeout() {
return 50000;
}
@Override
public int getCurrentRetryCount() {
return 50000;
}
@Override
public void retry(VolleyError error) throws VolleyError {
}
});
}
this is the login.php
<?php
if($_SERVER ['REQUEST_METHOD']== 'POST'){
$Usuario = $_POST['Usuario'];
$Password = $_POST['Password'];
require_once 'functions.php';
$sql = "SELECT * FROM user WHERE Usuario='$Usuario' ";
$reponse = mysqli_query($conn, $sql);
$reult = array();
$reult['login'] = array();
if (mysqli_num_rows($reponse) === 1 ){
$row = mysqli_fetch_assoc($reponse);
if ( password_verify($Password, $row['Password'])){
$index['Nombre'] = $row['Nombre'];
$index['Password'] = $row['Password'];
array_push($result['login'], $index);
$result['success'] = "1";
$result['message'] = "succes";
echo json_encode($result);
mysqli_close($conn);
}else {
$result['success'] = "0";
$result['message'] = "error";
echo json_encode($result);
mysqli_close($conn);
}
}
}
?>