Tenho un formulario de registro con php,sql que funciona bien le quiero agregar un poco de ajax a mi registro.
El problema es que queda el loading cargando y no hace lo de php, se queda cargando....
Mi codigo php de registro es este:
Código PHP:
<?php
include 'include/php/conexion.php';
$link=@dbConnect();
if (!$link) {
echo "Error conectando a la Base de Datos.";
}
if ($link =="202") {
echo "Error seleccionando la Base de Datos.";
}
?>
<div id="main">
<div class="content">
<?php
$from = "";
if (isset ($_POST['username'])){
$username = preg_replace('#[^A-Za-z0-9]#i', '', $_POST['username']); // filtros para letras y numeros
$email1 = $_POST['email1'];
$email2 = $_POST['email2'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$email1 = stripslashes($email1);
$pass1 = stripslashes($pass1);
$email2 = stripslashes($email2);
$pass2 = stripslashes($pass2);
$email1 = strip_tags($email1);
$pass1 = strip_tags($pass1);
$email2 = strip_tags($email2);
$pass2 = strip_tags($pass2);
$emailCHecker = mysql_real_escape_string($email1);
$emailCHecker = str_replace("`", "", $emailCHecker);
$sql_uname_check = mysql_query("SELECT username FROM users WHERE username='$username'");
$uname_check = mysql_num_rows($sql_uname_check);
$sql_email_check = mysql_query("SELECT email FROM users WHERE email='$emailCHecker'");
$email_check = mysql_num_rows($sql_email_check);
if ((!$username) || (!$email1) || (!$email2) || (!$pass1) || (!$pass2)) {
$errorMsg = 'Complete los siguientes campos requeridos:<br /><br />';
if(!$username){
$errorMsg .= ' * Nombre de usuario<br />';
}
if(!$email1){
$errorMsg .= ' * Email<br />';
}
if(!$email2){
$errorMsg .= ' * Confirmar email<br />';
}
if(!$pass1){
$errorMsg .= ' * Contraseña<br />';
}
if(!$pass2){
$errorMsg .= ' * Confirmar contraseña<br />';
}
} else if ($email1 != $email2) {
$errorMsg = 'ERROR: Los correos electrónicos no coinciden<br />';
} else if ($pass1 != $pass2) {
$errorMsg = 'ERROR: Las contraseñas no coinciden<br />';
} else if (strlen($username) < 4) {
$errorMsg = "<u>ERROR:</u><br />Tu nombre de usuario es corto. 4 - 20 carácteres.<br />";
} else if (strlen($username) > 20) {
$errorMsg = "<u>ERROR:</u><br />Tu nombre de usuario es muy largo. 4 - 20 carácteres.<br />";
} else if ($email_check > 0){
$errorMsg = "<u>ERROR:</u><br />El email ingresado ya existe,inténte con otro.<br />";
} else {
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$email1 = mysql_real_escape_string($email1);
$pass1 = mysql_real_escape_string($pass1);
$db_password = md5($pass1); //encriptar contraseña
$ipaddress = getenv('REMOTE_ADDR'); // obtengo el IP
$sql = mysql_query("INSERT INTO users (username, email, password, ipaddress, join_date)
VALUES('$username','$email1','$db_password', '$ipaddress', now())")
or die (mysql_error());
$id = mysql_insert_id();
exit();
} //
} else { //
$errorMsg = "";
$username = "";
$email1 = "";
$email2 = "";
$pass1 = "";
$pass2 = "";
}
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
/* ajax register */
$(document).ready(function(){
$('#registerForm').submit(function(e) {
register();
e.preventDefault();
});
});
function register()
{
hideshow('loading',1);
error(0);
$.ajax({
type: "POST",
url: "index.php",
data: $('#registerForm').serialize(),
dataType: "json",
success: function(msg){
if(parseInt(msg.status)==1)
{
window.location=msg.txt;
}
else if(parseInt(msg.status)==0)
{
error(1,msg.txt);
}
hideshow('loading',0);
}
});
}
function hideshow(el,act)
{
if(act) $('#'+el).css('visibility','visible');
else $('#'+el).css('visibility','hidden');
}
function error(act,txt)
{
hideshow('error',act);
if(txt) $('#error').html(txt);
}
</script>
<div id="register_box" class="login_form">
<form action="" method="post" id="registerForm">
<div id="error">
<font color="#FF0000"><?php print "$errorMsg";?></font>
</div>
<div class="label">
<label for="user_login">Usuario </label>
</div>
<div class="field">
<input class="input_join" name="username" type="text" id="username" value="<?php print "$username"; ?>" size="32" maxlength="20" />
<span id="nameresponse"><span class="textSize_9px"><span class="greyColor">Caracteres alfanúmericos.</span></span></span>
</div>
<div class="label">
<label for="user_email">Correo electrónico </label>
</div>
<div class="field">
<input class="input_join" name="email1" type="text" id="email1" value="<?php print "$email1"; ?>" size="32" maxlength="48" />
</div>
<div class="label">
<label for="user_email">Confirme email </label>
</div>
<div class="field">
<input class="input_join" name="email2" type="text" id="email2" value="<?php print "$email2"; ?>" size="32" maxlength="48" />
</div>
<div class="label">
<label for="user_password">Contraseña </label>
</div>
<div class="field">
<input class="input_join" name="pass1" type="password" id="pass1" size="32" maxlength="16" /><span class="textSize_9px"><span class="greyColor">Caracteres alfanúmericos.</span></span>
</div>
<div class="label">
<label for="user_password_confirmation">Confirme contraseña </label>
</div>
<div class="field">
<input class="input_join" name="pass2" type="password" id="pass2" size="32" maxlength="16" /><span class="textSize_9px"><span class="greyColor">Caracteres alfanúmericos.</span></span>
</div>
<input id="btn_join_storenvy" src="include/images/buttons/signup.png" type="image" /><img id="loading" src="ajax_loading.gif" alt="load" />
</form><br />
</div>
</div>
<?php
include('include/php/footer.php');
?>
Quien pueda ayudarme se los agradezco mucho
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)