Cómo corregir el error org.json.JSONException: Fin de entrada en el carácter 0 de
max-jacob
Mensajes publicados
30
Estado
Miembro
-
BunoCS Mensajes publicados 436 Fecha de registro Estado Moderador Última intervención -
BunoCS Mensajes publicados 436 Fecha de registro Estado Moderador Última intervención -
Hola expertos,
Soy nuevo en Android y estoy realizando un TP de Login a través de un servidor web PHP/MySQL utilizando la biblioteca Volley, y aquí está, al intentar iniciar sesión recibo este mensaje de error: error org.json.JSONException: End of input at character 0 of
Es simplemente el tutorial siguiente: https://www.youtube.com/watch?v=yS5n40h4Wlg
Su ayuda me sería muy valiosa, gracias de antemano
Aquí está mi LoginActivity.class
Y ahora, aquí está mi script PHP de login
Soy nuevo en Android y estoy realizando un TP de Login a través de un servidor web PHP/MySQL utilizando la biblioteca Volley, y aquí está, al intentar iniciar sesión recibo este mensaje de error: error org.json.JSONException: End of input at character 0 of
Es simplemente el tutorial siguiente: https://www.youtube.com/watch?v=yS5n40h4Wlg
Su ayuda me sería muy valiosa, gracias de antemano
Aquí está mi LoginActivity.class
public class LoginActivity extends AppCompatActivity { private EditText email, password; private Button btn_login; private TextView link_regist; private ProgressBar loading; private static String URL_LOGIN = "http://xxx.com/login.php"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); loading = findViewById(R.id.loading); email = findViewById(R.id.email); password = findViewById(R.id.password); btn_login = findViewById(R.id.btn_login); link_regist = findViewById(R.id.link_regist); btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String mEmail = email.getText().toString().trim(); String mPass = password.getText().toString().trim(); if(!mEmail.isEmpty() || !mPass.isEmpty()){ Login(mEmail, mPass); }else{ email.setError("Por favor inserte el Email"); password.setError("Por favor inserte la Contraseña"); } } }); link_regist.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(LoginActivity.this, RegisterActivity.class)); } }); } private void Login(final String email, final String password) { loading.setVisibility(View.VISIBLE); btn_login.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 name = object.getString("name").trim(); String email = object.getString("email").trim(); Toast.makeText(LoginActivity.this, "Inicio de sesión exitoso. \nSu Nombre :" +name+" \nSu Email :" +email, Toast.LENGTH_SHORT) .show(); loading.setVisibility(View.GONE); } } } catch (JSONException e) { e.printStackTrace(); loading.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); Toast.makeText(LoginActivity.this, "Error " +e.toString(), Toast.LENGTH_SHORT).show(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { loading.setVisibility(View.GONE); btn_login.setVisibility(View.VISIBLE); Toast.makeText(LoginActivity.this, "Error " +error.toString(), Toast.LENGTH_SHORT).show(); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError{ Map<String, String> params = new HashMap<>(); params.put("email", email); params.put("password", password); return params; } }; RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(stringRequest); } } Y ahora, aquí está mi script PHP de login
<?php if ($_SERVER['REQUEST_METHOD']=='POST') { $email = $_POST['email']; $password = $_POST['password']; require_once 'connect.php'; $sql = "SELECT * FROM users_table WHERE email='$email' "; $response = mysqli_query($conn, $sql); $result = array(); $result['login'] = array(); if ( mysqli_num_rows($response) === 1 ) { $row = mysqli_fetch_assoc($response); if ( password_verify($password, $row['password']) ) { $index['name'] = $row['name']; $index['email'] = $row['email']; $index['id'] = $row['id']; array_push($result['login'], $index); $result['success'] = "1"; $result['message'] = "éxito"; echo json_encode($result); mysqli_close($conn); } else { $result['success'] = "0"; $result['message'] = "error"; echo json_encode($result); mysqli_close($conn); } } } ?> | Mensaje modificado por la moderación Para una lectura más fácil del código, en el futuro use las etiquetas, VER ESTA PÁGINA |
1 respuesta
-
Hola,
Este error generalmente indica un JSON mal formateado. Intenta ver, en modo debug:
- lo que genera tu servidor
- lo que recibes en tu app
- lo que sucede cuando lees el JSON
--
@+
Buno, Moderador
Lo urgente está hecho, lo imposible está en camino. Para los milagros, prevé un plazo...
Lo urgente está hecho, lo imposible está en camino. Para los milagros, proporciona un plazo...