AJAX - Formulario AJAX-PHP (DUDA)

 
Vista:
Imágen de perfil de Ahmed
Val: 3
Ha disminuido su posición en 7 puestos en AJAX (en relación al último mes)
Gráfica de AJAX

Formulario AJAX-PHP (DUDA)

Publicado por Ahmed (2 intervenciones) el 02/03/2019 22:58:39
Buen día amigos, soy un principiante en esto y me acaba de surgir un problema el cual no he conseguido la manera de arreglar. Al enviar el formulario no logro devolver los resultados bien desde PHP. Según el código del Ajax, no me redirecciona a la página, tengo que actualizar la página para que tenga efecto el inicio de sesión. Para no extenderme más, no logro devolver los datos desde el PHP al AJAX

(Tengo en uso una plantilla, para los indicadores de error en los inputs)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
jQuery(document).ready(function($) {
 
  //Contact
  $('form.contactForm2').submit(function() {
    var f = $(this).find('.form-group'),
      ferror = false,
      emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
    f.children('input').each(function() {                                                     // Corrida sobre los inputs
 
      var i = $(this); // Entrada actual
      var rule = i.attr('data-rule');
 
      if (rule !== undefined) {
        var ierror = false;                                                       //    Indicador de error para la entrada actual
        var pos = rule.indexOf(':', 0);
        if (pos >= 0) {
          var exp = rule.substr(pos + 1, rule.length);
          rule = rule.substr(0, pos);
        } else {
          rule = rule.substr(pos + 1, rule.length);
        }
 
        switch (rule) {
          case 'required':
            if (i.val() === '') {
              ferror = ierror = true;
            }
            break;
 
          case 'minlen':
            if (i.val().length < parseInt(exp)) {
              ferror = ierror = true;
            }
            break;
 
          case 'email':
            if (!emailExp.test(i.val())) {
              ferror = ierror = true;
            }
            break;
 
          case 'checked':
            if (! i.is(':checked')) {
              ferror = ierror = true;
            }
            break;
        }
        i.next('.validation').html((ierror ? (i.attr('data-msg') !== undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind');
      }
    });
 
    if (ferror) return false;
    else
    var action = $(this).attr('action');
    if( ! action ) {
      action = 'sessions/login.php';
    }
    jQuery.ajax({
      type: "POST",
      url: action,
      cache:false,
      data: $(this).serialize(),
      dataType:'json',
      sucess: (function(respuesta) {
      var res = JSON.parse(respuesta);
      if(!res.error) {
        header('Location:welcome.php');
      } else {
        var res = JSON.parse(respuesta);
        alert("Datos invalidos")
      }
    })
    })
    return false;
  });
});


ARCHIVO PHP


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
require 'conexion.php';
session_start();
 
$email=$_POST['email'];
$pwd=md5($_POST['password']);
 
$usuarios = $mysqli->query("SELECT * FROM usuarios WHERE email='$email'");
if($usuarios->num_rows == 1):
	$datos = $usuarios->fetch_assoc();
	$_SESSION['usuario']=$datos;
	echo json_encode(array('error' => false,'user'=>$datos));
 else:
	echo json_encode(array('error' => true));
endif;
 
$mysqli->close();
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi

Formulario AJAX-PHP (DUDA)

Publicado por Xavi (8 intervenciones) el 03/03/2019 09:07:02
Hola Ahmed, que te devuelve el archivo php? Puedes verlo en la consola del navegador, o añadiendo un alert entre la linea 64 y 65 mostrando el contenido de la variable "respuesta"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ahmed
Val: 3
Ha disminuido su posición en 7 puestos en AJAX (en relación al último mes)
Gráfica de AJAX

Formulario AJAX-PHP (DUDA)

Publicado por Ahmed (2 intervenciones) el 03/03/2019 16:25:20
Hola Xavi, en consola al parecer no me está devolviendo nada el archivo PHP, de igual manera lo intenté con un alert(respuesta) y nada. Por lo que supongo que el error puede estar en el archivo PHP. Gracias de antemano...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Xavi

Formulario AJAX-PHP (DUDA)

Publicado por Xavi (8 intervenciones) el 03/03/2019 20:34:50
Si, puede estar en el archivo php, o en la llamada... desde la consola, revisa que realmente se esten enviando todos los parametros correctamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar