Aquí les dejo el codigo real. Supongo que quedara cacheado algo, o alguna situación por el estilo, espero alguien tenga idea
Código PHP:
<?
//RECIBO LOS PARAMETROS
$nombre = stripslashes($_POST['nombre']);
$apellido = stripslashes($_POST['apellido']);
$mail = stripslashes($_POST['mail']);
$pass = stripslashes($_POST['pass']);
//VARIABLES PARA SALIDA EN PANTALLA
$msj = "";
$img = "";
$error = 0;
//TRATAMIENTO DE LOS PARAMETROS
//eliminación de caracteres blancos y de nueva linea
$nombre = trim($nombre);
$apellido = trim($apellido);
$mail = chop($mail);
$pass = trim($pass);
//validación de cantidad de caracteres
if(strlen($nombre)>45){
$msj = 'El nombre debe tener como máximo 20 caracteres';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($nombre) <=0){
$msj = 'Debe ingresar su nombre';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($apellido)>45){
$msj = 'El apellido debe tener como máximo 20 caracteres';
$img = 'incorrecto.png';
$error = 1;
}
else if (strlen($apellido) <=0){
$msj = 'Debe ingresar su apellido';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($mail)>150){
$msj = 'El correo electrónico debe tener como máximo 150 caracteres';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($mail) <=0){
$msj = 'Debe ingresar su correo electrónico';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($pass) <=0){
$msj = 'Debe elegir una contraseña para su cuenta';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($pass) < 4 || strlen($pass) > 16){
$msj = 'La contraseña debe tener entre 4 y 16 caracteres';
$img = 'incorrecto.png';
$error = 1;
}
//validación de caracteres especiales en mail
else if(strpos($mail, "@") == false || strpos($mail, ".") == false)
{
$msj = $mail .' no es valido como correo electrónico';
$img = 'incorrecto.png';
$error = 1;
}
else{ //SI TODO ESTA CORRECTO
// conectamos con la base de datos
require("../database/database.php");
$conexion = mysqli_connect($host, $user , $passdb);
if(!$conexion){
echo "alert('No se pudo conectar con la base de datos');";
}
else {
mysqli_select_db($conexion, $db);
}
//comprobamos que el mail no esté registrado
$buscarmailquery = "call BUSCARMAIL('".$mail."');";
$buscarmail = mysqli_query($conexion, $buscarmailquery);
if($row = mysqli_fetch_assoc($buscarmail)){
$retorno = $row['retorno'];
}
if ($retorno >0){ //si el mail ya esta registrado.
$msj = $mail . ' ya está registrado.';
$img = 'incorrecto.png';
$error = 1;
}
else{ //si el mail está disponible
//ejecutamos el procedimiento crearusuario
$registroquery = "call CREARUSUARIO('".$nombre."', '".$apellido."', '".$mail."', '".$pass."');";
$registro = mysqli_query( $conexion, $registroquery);
$msj = 'Su cuenta ha sido creada correctamente.<br>Bienvenido!';
$img = 'correcto.png';
$error = 0;
}
mysqli_close($conexion);
}
?>