Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2012, 13:59
Panoxo
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Problema jquery formulario de registro

Hola, estoy haciendo un formulario de registro para mi web con jQuery teniendo ya alguna experiencia anterior y con otros scripts funcionando a al perfección y resulta que no encuentro al razón por la que este no me funciona.

He ido comprobando todo lo que pudiera ser erróneo y he aislado el problema en el momento en que jquery pasa las variables al script PHP. Porque el resto lo hace bien.


Aquí el javascript:

Código:
$("#register_submit").click(function(){
	if(r_name.val().length < 3 || r_name.val().length > 20){
		r_name.removeClass('textfield');
		r_name.addClass('error');
		$('#name_alert').show();
	}
	else if(!r_email.val().match(/^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i)){
		r_email.removeClass('textfield');
		r_email.addClass('error');
		$('#email_alert').show();
	}
	else if(r_pass0.val().length < 6 || r_pass0.val().length > 20){
		r_pass0.removeClass('textfield');
		r_pass0.addClass('error');
		$('#pass0_alert').show();
	}
	else if(r_pass0.val() != r_pass1.val()){
		r_pass0.removeClass('textfield');
		r_pass1.removeClass('textfield');
		r_pass0.addClass('error');
		r_pass1.addClass('error');
		$('#pass1_alert').show();
	}
	else{
		$.post("scripts/register.php", {name:name, email:email, pass0:pass0, pass1:pass1}, function(data){$("#register").html(data)});
	}
});
Aquí el PHP (valido también por PHP por seguridad):

Código PHP:
<?php
include('../db_connection.php');
$user $_POST['name'];
$email $_POST['email'];
$pass0 $_POST['pass0'];
$pass1 $_POST['pass1'];
$date date("d/n/Y");
$encryptedpass md5($pass1);
$l_user strlen($user);
$l_password strlen($pass1);
$sql "SELECT * FROM web_users WHERE user = '$user'";
$query mysql_query($sql) or die (mysql_error());
$data mysql_fetch_array($query);
$error = array('0' => 'No has rellenado todos los campos.',
                   
'1' => 'Has introducido un mail no válido.',
                   
'2' => 'Las contraseñas no son iguales.',
                   
'3' => 'La contraseña debe tener entre 6 y 20 caracteres.',
                   
'4' => 'El nombre de usuario debe tener entre 5 y 20 caracteres.',
                   
'5' => 'El nombre de usuario ya existe en la base de datos.');
    if (
$user == '' || $email == '' || $pass0 == '' || $pass1 == ''){
        echo 
"<span>$error[0]</span>";
    }
    elseif (!
preg_match("/^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$/i",$email)){
        echo 
"<span>$error[1]</span>";
    }
    elseif (
$pass0 != $pass1){
        echo 
"<span>$error[2]</span>";
    }
    elseif (
$l_user or $l_user 20){
        echo 
"<span>$error[4]</span>";
    }
    elseif (
$l_password or $l_password 20){
        echo 
"<span>$error[3]</span>";
    }
    elseif (
ucwords(trim($user)) == $data['user']){
        echo 
"<span>$error[5]</span>";
    }    
else{
    
$sql "INSERT INTO web_users (user, email, password, date) VALUES ('".mysql_real_escape_string(ucwords(trim($user)))."', '".mysql_real_escape_string($email)."', '$encryptedpass', '".mysql_real_escape_string($date)."')";
    
$query mysql_query($sql) or die (mysql_error());
    echo 
"<h1>¡Enhorabuena!</h1><p>Has sido registrado con éxito en la web. Visita la sección de ayuda para más información.</p><p>Te hemos enviado un correo electrónico a la dirección que nos han indicado para que actives tu cuenta. No te olvides de revisar la carpeta de spam o correo no deseado.</p><p>¡Bienvenid@¡</p>";
}
?>
Aquí el HTML:

Código HTML:
<div id="register">
<div id="register_header"><h1>Únete a XXXXXXX</h1><span>Sólo te llevará un par de minutos y tendrás grandes ventajas.</span></div>
<div id="register_info">
	<ul>
		<li>BLABLABALBALBA</li>
		<li>BLABALBALBALBALAB</li>
        <li>BLABALBABALBALA</li>
        <li>BLABALBALBALAB</li>
    </ul>
</div>
<div id="register_form">
	<ul>
		<li><label>Nombre:</label><input class="textfield" type="text" name="name" id="name"><span id="name_alert" style="display:none">El nombre debe tener entre 5 y 20 caracteres</span></li>
    	<li><label>Email:</label><input class="textfield" type="text" name="email" id="email"><span id="email_alert" style="display:none">Escribe un email válido</span></li>
    	<li><label>Contraseña:</label><input class="textfield" type="password" name="password0" id="password0"><span id="pass0_alert" style="display:none">La contraseña debe tener entre 6 y 20 caractéres</span></li>
    	<li><label>Repite la contraseña:</label><input class="textfield" type="password" name="password1" id="password1"><span id="pass1_alert" style="display:none">Las contraseñas no coinciden</span></li>
    	<li><input class="button" type="submit" name="register_submit" id="register_submit" value="Registrar"></li>
	</ul>
</div>
<div id="register_footer"><span>Al registrarme acepto los <a href="#" title="Condiciones de uso">téminos y condiciones de uso</a> del sitio.</span></div>
</div>