AJAX - ¿Qué estoy haciendo mal en el método ajax? No me funciona

 
Vista:
Imágen de perfil de Kevin

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por Kevin (3 intervenciones) el 07/05/2014 19:49:48
Buenos días! Tengo un problema con ajax. He probado varios metodos y siempre me da errores, estoy empezando y me gustaría saber que estoy haciendo mal.

Desde ya gracias. Abajo me script y el codigo php
En este ejemplo estoy usando el metodo $.post

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<script>
//Expresión para validar un correo electrónico
var expr = /^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/;
//valida el nombre de usuario
var expr2 = /^[a-zA-Z][a-zA-Z0-9_\.\-]{2,}/;
 
$(document).ready(function(){
 
	$("#registro").submit(function(){
 
		var nombre = $("#nombre").val();
		var direccion = $("#direc").val();
		var correo = $("#email").val();
		var nacimiento = $("#nacimiento").val();
		var user = $("#user").val();
		var contra1 = $("#pass").val();
		var contra2 = $("#pass2").val();
 
		if (nombre==""){
			$("#nombre").css("border-color", "red");
			$("#nombre").focus();
			$("#resultado").html("Campo requerido");
			return false;
		}else{
			$("#nombre").css("border-color", "");
			$("#resultado").html("Registrando...");
			if (direccion==""){
			$("#direc").css("border-color", "red");
			$("#direc").focus();
			$("#resultado").html("Campo requerido");
			return false;
			}else{
				$("#direc").css("border-color", "");
				$("#resultado").html("Registrando...");
				if (correo==""){
				$("#email").css("border-color", "red");
				$("#email").focus();
				$("#resultado").html("Campo requerido");
				return false;
				}else{
					$("#email").css("border-color", "");
					$("#resultado").html("Registrando...");
					if (!expr.test(correo)){
						$("#email").css("border-color", "red");
						$("#email").focus();
						$("#resultado").html("Cuenta de correo invalido");
						return false;
					}else{
						$("#email").css("border-color", "");
						$("#resultado").html("Registrando...");
						if (nacimiento==""){
							$("#nacimiento").css("border-color", "red");
							$("#nacimiento").focus();
							$("#resultado").html("Campo requerido");
							return false;
						}else{
							$("#nacimiento").css("border-color", "");
							$("#resultado").html("Registrando...");
							if (user=="" || !expr2.test(user)){
								$("#user").css("border-color", "red");
								$("#user").focus();
								$("#resultado").html("Campo requerido");
								return false;
							}else{
								$("#user").css("border-color", "");
								$("#resultado").html("Registrando...");
								if(contra1==""){
									$("#pass").css("border-color", "red");
									$("#pass").focus();
									$("#resultado").html("Campo requerido");
									return false;
								}else{
									$("#pass").css("border-color", "");
									$("#resultado").html("Registrando...");
									if (contra2 != contra1){
										$("#pass2").css("border-color", "red");
										$("#pass2").focus();
										$("#resultado").html("Las contraseñas no coinciden");
										return false;
									}else{
										$("#pass").css("border-color", "");
 
										$.post("../php/new_usuario.php",
												$("#registro").serialize(),
												function(res){
													if (res=="0"){
														$("#resultado").html("El usuario ya existe");
														$("#user").css("border-color", "red");
														$("#user").focus();
														return false;
													}else{
														$("#resultado").html("El usuario se registro exitosamente");
														return false;
													}
												}
										);
 
									}
								}
							}
						}
					}
				}
			}
		}
	});
 
 
});
</script>

//El codigo php que pretendo usar es éste

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
<?php
 
function res(){
	$nombre = utf8_decode($_POST['nombre']);
	$direc = $_POST['direc'];
	$correo = $_POST['email'];
	$nacimiento = $_POST['nacimiento'];
	$user = $_POST['user'];
	$pass = md5($_POST['pass']);
 
	$conexion = mysqli_connect("localhost", "root", "", "bibliotecas");
 
	$verifica = mysqli_query($conexion, "select user from usuarios where user like '$user'");
 
	if (mysqli_num_rows($verifica) > 0){
		$res = "0";
		echo $res;
	}else{
		$inserta = mysqli_query($conexion, "insert into usuarios('username') values ('$user')"
		$res = "1";
		echo $res;
	}
 
	mysqli_close($conexion);
}
 
return res();
 
?>
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 xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por xve (222 intervenciones) el 07/05/2014 22:14:34
Hola Kevin, es posible que nos muestres el formulario?

Sin el, no podemos probarlo para buscar el error...
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 Kevin

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por Kevin (3 intervenciones) el 26/05/2014 19:10:09
Perdón por no colocar esto. Gracias por la respuesta...

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!DOCTYPE html>
<html lang="es">
 
<head>
<meta charset="utf-8" />
<link href="../css/estilos.css" rel="stylesheet"/>
<link href="../css/jquery.datepick.css" rel="stylesheet"/>
 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui.js"></script>
<script type="text/javascript" src="../js/jquery.plugin.js"></script>
<script type="text/javascript" src="../js/jquery.datepick.js"></script>
 
<script>
$(function() {
$("#nacimiento").datepick({dateFormat: 'dd-mm-yyyy'});
});
</script>
 
</head>
 
<body>
<div id="contenedor">
 
<header id="encabezado">
<h2>Registrarse</h2>
</header>
 
<fieldset>
<legend>
Datos del usuario
</legend>
 
<table>
<form id="registro" name="registro">
	<tr>
		<td>
		<span class="etiquetas">Nombre</span><br>
		<input type="text" id="nombre" name="nombre" class="lar">
		</td>
	</tr>
	<tr>
		<td>
		<span class="etiquetas">Dirección</span><br>
		<input type="text" id="direc" name="direc" class="lar">
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Correo electrónico</span><br>
		<input type="text" id="email" name="email" class="lar">
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Fecha de nacimiento</span><br>
		<input type="text" id="nacimiento" name="nacimiento" readonly>
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Nombre de usuario</span><br>
		<input type="text" id="user" name="user">
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Contraseña</span><br>
		<input type="password" id="pass" name="pass">
		</td>
	</tr>
 
	<tr>
		<td>
		<span class="etiquetas">Repita contraseña</span><br>
		<input type="password" id="pass2" name="pass2">
		</td>
	</tr>
 
	<tr>
		<td>
		<input type="submit" id="btn" name="btn" value="Submit">
		</td>
	</tr>
 
	<tr>
		<td>
		<div id="resultado">Registrando...</div>
		</td>
	</tr>
 
</form>
</table>
</fieldset>
<small><p>¿Ya tienes una cuenta registrada? <a href="#">Identificate</a></p></small>
 
</div>
 
 
 
</body>
 
</html>
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 xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por xve (222 intervenciones) el 26/05/2014 22:48:45
Hola Kevin, gracias por mostrarlo... parece que todo esta bien...

La única cosa que veo, es que no has puesto ; al final de la instrucción:
1
$inserta = mysqli_query($conexion, "insert into usuarios('username') values ('$user')"

Podría ser por esto que no te funciona?

Puedes probarlo? coméntanos, ok?
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 Kevin

¿Qué estoy haciendo mal en el método ajax? No me funciona

Publicado por Kevin (3 intervenciones) el 27/05/2014 17:56:09
corregí lo del punto y coma pero nada... la validación si funciona pero al momento de entrar en el else donde esta el método post simplemente parece como si lo omitiera :(
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