Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/12/2013, 16:30
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Si usuario no existe, mensaje bajo del Form

Si deseas reemplazar la redirección a la página de error por un mensaje en la misma página, debes de utilizar Ajax.

Básicamente, envías los datos para su procesamiento, previenes el comportamiento natural del evento submit, que es el que se ejecuta cuando envías los datos del formulario, ejecutas el método Ajax y, cuando recibas la respuesta del servidor, muestras dicho resultado en el párrafo.

Código Javascript:
Ver original
  1. $("form").submit(function(e){
  2.      e.preventDefault();
  3.      $.ajax({
  4.           url: $(this).prop("action"),
  5.           type: $(this).prop("method"),
  6.           data: $(this).serialize(),
  7.           success: function(response){
  8.                $("#parrafo").html(response);
  9.           }
  10.      });
  11. });

Mientras que en el archivo que procesa los datos, que puede ser el mismo archivo u otro, harías esto:

Código PHP:
Ver original
  1. $conexion = new mysqli ("servidor", "usuario", "password", "bd");
  2.  
  3. if ($conexion->connect_error)
  4.      exit ("No se ha podido realizar la conexión con la base de datos");
  5.  
  6. $user = $conexion->real_escape_string(strip_tags($_POST["user"]));
  7. $pass = $conexion->real_escape_string(strip_tags($_POST["pass"]));
  8.  
  9. $consulta = $conexion->query(sprintf("SELECT * FROM usuarios WHERE user = '%s' AND pass = '%s'", $user, $pass));
  10.  
  11. if ($consulta->num_rows)
  12.      header ("Location: inicio.php");
  13. else
  14.      echo "Error: La identificación ha fallado. Vuelva a intentarlo";
  15.  
  16. $consulta->free();
  17. $conexion->close();

Realizo la conexión con la base de datos, una vez establecida, desinfecto los datos recibidos de posible contenido malicioso, luego, realizo la consulta, si obtengo resultados de dicha consulta, redirecciono al usuario hacia la vista principal de la página (cuyo archivo puede tener otro nombre, este es solo un ejemplo), caso contrario, imprimo un mensaje de error de identificación, que es el que se mostrará en el párrafo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand