Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Ayuda con inserccion de usuario con Ajax.(resuelto)

NOTE: No estoy usando el Bootstrap traducido de Zeuskx, mas bien el original, asi que nose si sea por eso...

Bueno supuestamente todo este codigo deberia insertar nuevo usuario, pero en lugar de eso, me manda auna pagina blanca, sin html; literalmente blanca; agradeceria mucho el que me ayudaran a encontrar el problema. Otra cosa, en el script le pongo "type:'POST' , pero al darle a f12>network> headers ; me muestra que "GET" en lugar de post......capitulo 13-14.
Aqui el codigo en registrar.php
<?php require_once('../Connections/conexion.php'); ?>
<!DOCTYPE html>
<html lang="en">

<?php include("../includes/head.php"); ?>

<!-- Preloader -->
<div id="preloader">
<div id="status">&nbsp;</div>
</div>

<body>

<div id="sb-site">
<!-- header-full -->
<div class="boxed">
<?php include("../includes/header.php");?>
<?php include("../includes/menu.php");?>
</div>
<!-- header-full -->



<header class="main-header" style="background-color:#f1f1f1;"></header>
<!-- container -->
<div class="container">
<div class="row">
<!-- Sidebard -->

<div class="col-md-8">
<h2 class="section-title no-margin-top">Crear cuenta</h2>
<div class="panel panel-primary">
<div class="panel-heading">Register Form</div>
<div class="panel-body">

<form action="<?php echo $dato[0]; ?>includes/nuevousuario.php" class="form" id="formRegistro">

<div class="form-group">
<label for="username">Username<sup>*</sup></label>
<div class="input-group login-input">
<span class="input-group-addon"><i class="fa fa-user"></i></span>
<input name="username" type="text" class="form-control" id="username" onchange="usuario_amigable(this.value);">
</div>
</div>

<div class="form-group">
<label for="nombre">Nombre Completo</label>
<div class="input-group login-input">
<span class="input-group-addon"><i class="fa fa-user"></i></span>
<input name="nombre" type="text" class="form-control" id="nombre">
</div>
</div>

<div class="form-group">
<label for="email">E-mail<sup>*</sup></label>
<div class="input-group login-input">
<span class="input-group-addon"><i class="fa fa-envelope"></i></span>
<input name="email" type="email" class="form-control" id="email">
</div>
</div>

<div class="form-group">
<label for="address">Direccion</label>
<div class="input-group login-input">
<span class="input-group-addon"><i class="fa fa-map-marker"></i></span>
<input name="address" type="text" class="form-control" id="address">
</div>
</div>

<div class="form-group">
<label for="recaptcha">Recaptcha:</label>
<div class="recaptcha">
<span id="aleatorio"><?php include('../includes/aleatorio.php'); ?></span>
</div>
<a class="cambiar_c" onclick="cambiar_captcha();">Cambiar</a>
<input type="text" name="recaptcha" id="recaptcha" placeholder="Recaptcha...">
</div>


<div class="row">

<div class="col-md-6">
<div class="form-group">
<label for="password">Password<sup>*</sup></label>
<div class="input-group login-input">
<span class="input-group-addon"><i class="fa fa-lock"></i></span>
<input name="password" type="password" class="form-control" id="password" placeholder="Password">
</div>
</div>
</div>


<div class="col-md-6">
<div class="form-group">
<label for="password2">Confirmar Password<sup>*</sup></label>
<div class="input-group login-input">
<span class="input-group-addon"><i class="fa fa-lock"></i></span>
<input name="password2" type="password" class="form-control" id="password2" placeholder="Password">
</div>
</div>
</div>
</div>

<!-- alert -->
<div class="form-group hidden" id="registro-error">
<div class="alert alert-danger" id="registro-mensaje">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<strong><i class="fa fa-times"></i> Error!</strong>
Disculpa,pero hay un 90% que el username, o cualquier otro campo ya este tomado por alguien masñ por favor, inventa uno nuevo!.
</div>
</div>
<!-- alert -->

<div class="row">
<div class="col-md-8">
<div class="checkbox checkbox-inline">
<input type="checkbox" id="inlineCheckbox1" value="option1">
<label for="inlineCheckbox1">Ya le&iacute; los <a href="<?php echo $dato[0]; ?>terms" style="text-decoration:none; transition: all .25s ease;">Terminos y Condiciones</a>.</label>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<input type="submit" class="btn btn-ar btn-primary pull-right" onclick="registrar_usuario(username.value, nombre.value, email.value, address.value password.value, password2.value, recaptcha.value);" placeholder="Registrar">
</div>
</div>
</div>

</form>


</div>
</div>
</div>

<!-- Sidebar -->

<!--Container -->
<div class="col-md-4">
<h2 class="section-title no-margin-top">Bienvenido</h2>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Gracias de antemano!</h3>
</div>
<div class="panel-body">
<p>
Bienvenido, en serio que me haces feliz con el registrarte en esta website, y ademas sera de gran ayuda hacia ti mismo, ya que de seguro has explorado toda la website completa, cierto?, pero que dirias, si te dijera que esta web esconde secretos(mas paginas), he?, Asi es, tras completar la registracion de tu usurio en la base de datos, seras ahora habil para ver las paginas escondidas aqui, he incluso podras ver y interactuar con los usuarios que tambien se han registrado, y todo haciendo este primer gran paso....pulsar el boton Register! 
</p>



</div>
</div>
</div>
<!-- Container -->
</div>
</div>
<!-- container -->

<?php include("../includes/footer.php");?>

</div> <!-- boxed -->
</div> <!-- sb-site -->

<?php include("../includes/menuderecha.php");?>
<!-- sb-slidebar sb-right -->



<!-- Scripts -->
<!-- Compiled in vendors.js -->
<!--
<script src="js/jquery.min.js"></script>
<script src="js/jquery.cookie.js"></script>
<script src="js/imagesloaded.pkgd.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/bootstrap-switch.min.js"></script>
<script src="js/wow.min.js"></script>
<script src="js/slidebars.min.js"></script>
<script src="js/jquery.bxslider.min.js"></script>
<script src="js/holder.js"></script>
<script src="js/buttons.js"></script>
<script src="js/jquery.mixitup.min.js"></script>
<script src="js/circles.min.js"></script>
<script src="js/masonry.pkgd.min.js"></script>
<script src="js/jquery.matchHeight-min.js"></script>
-->

<script src="<?php echo $dato[0]; ?>js/vendors.js"></script>

<!--<script type="text/javascript" src="js/jquery.themepunch.tools.min.js?rev=5.0"></script>
<script type="text/javascript" src="js/jquery.themepunch.revolution.min.js?rev=5.0"></script>-->


<!-- Syntaxhighlighter -->
<script src="<?php echo $dato[0]; ?>js/syntaxhighlighter/shCore.js"></script>
<script src="<?php echo $dato[0]; ?>js/syntaxhighlighter/shBrushXml.js"></script>
<script src="<?php echo $dato[0]; ?>js/syntaxhighlighter/shBrushJScript.js"></script>

<script src="<?php echo $dato[0]; ?>js/DropdownHover.js"></script>
<script src="<?php echo $dato[0]; ?>js/app.js"></script>
<script src="<?php echo $dato[0]; ?>js/holder.js"></script>
<script src="<?php echo $dato[0]; ?>js/home_profile.js"></script>
<script src="<?php echo $dato[0]; ?>js/efectos.js"></script>
</body>

</html>
Aqui el codigo en nuevousuario.php:
<?php require_once('../Connections/conexion.php'); ?>
<?php 
// Validar formulario
if (!isset($_POST['username']) || $_POST['username']='' || $_POST['nombre']='' || $_POST['email']='' || $_POST['address']='' || $_POST['password']='')  exit;


//Comprobar Correo
$accion_email=sprintf("SELECT * FROM usuarios WHERE email=%s",
formatearcadena($_POST['email'],'text'));

$consulta_email=mysqli_query($conexion,$accion_emal);
$datos_email=mysqli_fetch_assoc($consulta_email);
$cantidad_email=mysqli_num_rows($consulta_email);

if ($cantidad_email==0){
	//Insertar usuario

		$nuevousuario = sprintf("INSERT INTO usuarios (username,nombre,email,address,password,password2) VALUES (%s,%s,%s,%s,%s,%s)",
				formatearcadena($_POST['username'],'text'),
				formatearcadena($_POST['nombre'],'text'),
				formatearcadena($_POST['email'],'text'),
				formatearcadena($_POST['address'],'text'),
				formatearcadena($_POST['password'],'text'),
				formatearcadena($_POST['password2'],'text'));
		
		$nuevousuario = mysqli_query($conexion,$nuevousuario) or die(mysqli_error());
		
		echo 'correcto';
	}
	else echo 'existe';

mysqli_free_result($consulta_email);

?>
Y aqui el javascript:
// Funciones Javascript
var urlweb='http://localhost/blogpersonal/';
function registrar_usuario(username, nombre, email, address, password, password2, recaptcha){
	
	if(limpiar_espacios(username)!='' && limpiar_espacios(nombre)!='' && limpiar_espacios(email)!='' && limpiar_espacios(address)!=''
	&& limpiar_espacios(password)!='' && limpiar_espacios(password2)!='' && limpiar_espacios(recaptcha)!=''){
		//Paso 1 Validacion esta bien
		if (limpiar_espacios(password) != limpiar_espacios(password2)){
			$('#registro-error').fadeIn(500);
			$('#registro-mensaje').text('No coinciden');
			}
			else {
				// Enviar a registro
				$.ajax({
				type:'POST',
				url: urlweb + 'includes/nuevousuario.php',
				cache: false,
				//data:'username=' + username  + '&nombre=' + nombre + '&email=' + email + '&address=' + address + '&password=' + password,
				data: $('#formRegistro').serialize(),
				success: function(respuesta){
					if(limpiar(respuesta)=='correcto'){
						//Ir a login
						location.href=urlweb + 'iniciar';
					}
					else if(limpiar(respuesta)=='existe'){
						//Mostrar error
						$('#registro-error').fadeIn(500);
		                $('#registro-mensaje').text('Correo no disponible');
					}

				}

			});
			}
	}
	
	
	else {
		$('#registro-error').fadeIn(500);
		$('#registro-mensaje').text('Completa los campos');
		
		}
}

function limpiar_espacios(valor){
	var cadena=valor.split(' ').join('');
	return cadena;
}

Editado
0
Puntos
538
Visitas
4
Resp
Por Kevin.Fonseca hace 20 meses
Principiante Sitio web
Respuesta #1
Olvide mencionar que tuve que quitar el onsubmit="return false" debido a que no trabaja, mas sin embargo le puse un action, como se puede ver el docmento regitrar.php.

Tambien olvide mencionar que es del curso "curso pagina web responsive"
0
Puntos
Por Kevin.Fonseca hace 20 meses
Principiante Sitio web
Respuesta #2
yo siempre lo trabajo así
<form name="formA" id="formA"  onsubmit="return false">
</form>
y una cosa mas para tus consultas sql no debes usar el * eso no es recomendable, lo mejor es siempre elegir los campos que vas a utilizar, esa es la manera mas optima de hacer una consulta
0
Puntos
Por Derian hace 20 meses
Principiante Sitio web
Respuesta #3
hola, exacto si envías un form por ajax lo mas normal es que no uses action para que la pagina no se recargue ni salte a otro fichero

y sí, como dice el compañero la manera mas óptima de hacer una consulta es no seleccionar todo (*) de la tabla, si seleccionas columna por columna puede que ahorres 05ms en la extracción de datos, puede que alguien lo note (o no), tendrías que plantearte si el tiempo que tardas en seleccionarlas te sale rentable

salu2 y espero resuelvas tu problema ;)
0
Puntos
Por alber hace 20 meses
Administrador
Respuesta #4
Muchas gracias, Derian, tu ayuda fue de mucha!!!
0
Puntos
Por Kevin.Fonseca hace 20 meses
Principiante Sitio web
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate