en mi sitio tengo la página de registro, que te manda a una página donde éste se procesa..
el asunto es que en un IF la secuencia de condicionales anidados deja de funcionar y no encuentro el porqué.
El error comienza en la línea 98 y lo marqué en un comentario en el código
Código PHP:
Ver original
<? $nivel = "1"; $fecha = "$anon-$mesn-$dian"; function comprobar_email($email){ $mail_correcto = 0; //compruebo unas cosas primeras if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){ //miro si tiene caracter . //obtengo la terminacion del dominio //compruebo que la terminación del dominio sea correcta //compruebo que lo de antes del dominio sea correcto if ($caracter_ult != "@" && $caracter_ult != "."){ $mail_correcto = 1; } } } } } function edad($edad){ if ($dia_dif < 0 || $mes_dif < 0) $anio_dif--; return $anio_dif; } if($nombre = "" || $apellido = "" || $nacimiento = "" || $genero = "" || $pais = "" || $email = "" || $usuario = "" || $pass = "") { echo"Disculpa, pero al parecer has accedido aquí de forma inesperada y no podemos procesar tu solicitud"; } else { if($filasusuario == "1") { echo"Disculpa, el nombre de usuario <b>$usuario <font color=red>no está disponible para su uso</font></b>, por favor haz clic <a href=registro-1.php>aquí</a> para volver a la página de registro."; } else { if($filasemail == "1") { echo"Disculpa, pero ese e-mail ya está asociado a otra cuenta. Haz clic <a href=registro-1.php>aquí</a> para regresar."; } else { function CalcularEdad($fecha){ if($dia_dif < 0 || $mes_dif < 0) $anio_dif--; return $anio_dif; } $edad = edad("$fecha"); if($edad < 13) { echo"<b>Disculpa, pero sólo las personas mayores a 13 años pueden registrarse en el sitio.</b>"; } else { if($genero != "M" xor $genero != "F") { echo"Disculpa, ocurrió un error. Inténta completar el formulario nuevamente haciendo clic <a href=registro-2.php>aquí</a>"; } else { //AQUI ES EL PROBLEMA echo"ESTO NO SE IMPRIME"; if($mail_correcto == "0") { echo" Disculpa, pero la dirección de correo electrónico que ingresaste no es correcta, por favor, <a href=registro-1.php>vuelve atrás</a> e ingrésala nuevamente "; } else { function comprobar_nombre_usuario($nombre_usuario){ //compruebo que el tamaño del string sea válido. $verificarusuario = "0"; return false; } //compruebo que los caracteres sean los permitidos $permitidos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_."; $verificarusuario = "0"; return false; } } $verificarusuario ="1"; return true; } comprobar_nombre_usuario($usuario); if($verificarusuario == "0") { echo"<b>¡Tu usuario tiene que contener entre 3 y 20 caracteres que deben ser: <font color=red>letras de la 'a' a la 'z' (inclusive mayúsculas), guión (-), guión bajo (_) y punto (.)!</b></font>. Haz clic <a href=registro-1.php>aquí</a> para volver."; } else { function comprobarpass($contrasena){ //compruebo que el tamaño del string sea válido. $verificarc = "0"; return false; } else { $verificarc = "1"; } } comprobarpass($pass); if($verificarc == "0") { echo"Tu contraseña debe tener entre 3 y 13 caracteres, por favor haz clic <a href=registro-1.php> aquí </a> para volver."; } else { function cambiaf_a_mysql($fecha){ $lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; return $lafecha; } $nuevafecha = cambiarf_a_mysql($fecha); $consultar = mysql_query("INSERT INTO datosp (nombre,apellido,genero,nacimiento,email,nacionalidad,usuario,pass,inicio,nivel) VALUES ('$nombre','$apellido','$genero','$nuevafecha','$email','$pais','$usuario','$password','$inicio','$nivel')",$conexion); if($consultar) { echo" <B><font COLOR=GREEN>¡Se te ha registrado con éxito!<br> <a href=log-1.php>Haz clic aquí para iniciar sesión</a></FONT></b>"; }}}}}}}}}} ?>
Gracias por su ayuda