Manejar resultados de php desde ajax – php ajax mysqli

Pregunta:


Tengo un archivo php que recoge datos y los manda mediante ajax a otro php que valida que los datos ingresados sean iguales a los guardados en $_SESSION
Si son iguales hace un UPDATE en mi base de datos. Quiero ver si hay un modo de regresar al ajax informacion de si los datos son validos y de si se hizo el UPDATE en la base de datos
la funcion de js del php es esta:

<code>
function Check()
            {
                var newname = document.getElementById('newUserName').value;
                var newpass = document.getElementById('newPass').value;
                var ActualData = {
                    Nusuario: newname,
                    Npassword: newpass
                    };
                $.ajax({
                        type: 'POST',
                        url: 'check_data.php',
                        data:ActualData,
                        success: function(data)
                        {
                            //Manejar la respuesta del otro php
                        }
                    });
            }

y el php a donde mando los datos es este:

<?php
@session_start();
    include("BD/conexion.php");
    $Nus = $_POST['Nusuario'];
    $Npass = $_POST['Npassword'];
    $act_us = $_SESSION['usuario'];
    $act_pass = $SESSION['pass'];
    if ($us == $act_us && $ps == $act_pass)
    {
        mysqli_query($mysqli, "UPDATE usuarios SET username='$Nus', pass='$Npass' WHERE usuarios.username='$us'");
    }
    else
    {

    }
?>
</code>

Preguntado por: Cead135

Bender

Devolver mensajes al Front-End después de ejecutar las peticiones del Back-End es simple, solo basta con colocar echo en los mensajes que desees devolver.

En tu PHP puedes hacer lo siguiente:

<?php
@session_start();
  include("BD/conexion.php");
  $Nus = $_POST['Nusuario'];
  $Npass = $_POST['Npassword'];
  $act_us = $_SESSION['usuario'];
  $act_pass = $SESSION['pass'];
  if ($us == $act_us && $ps == $act_pass)
  {
    $resultado = mysqli_query($mysqli, "UPDATE usuarios SET username='$Nus', pass='$Npass' WHERE usuarios.username='$us'");

    if($resultado){
      echo "Los datos fueron actualizados correctamente";
    }else{
      echo "Ocurrió un error al actualizar los datos";
    }
  }
  else
  {
    echo "Las credenciales no coinciden";
  }
?>

Y en el JS lo recibes de la siguiente forma:

function Check()
{
  var newname = document.getElementById('newUserName').value;
  var newpass = document.getElementById('newPass').value;
  var ActualData = {
    Nusuario: newname,
    Npassword: newpass
  };
  $.ajax({
      type: 'POST',
      url: 'check_data.php',
      data:ActualData,
      success: function(data)
      {
        alert(data);
      }
  });
}

Fuente

Tags:, ,

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *