Hola, gracias por su ayuda..
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
//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){
$anio_dif = date("Y") - $anio; $mes_dif = date("m") - $mes; $dia_dif = date("d") - $dia; 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
{
$comprobarusuario = mysql_query("SELECT usuario FROM datosp WHERE usuario = '$usuario'",$conexion); 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
{
$comprobaremail = mysql_query("SELECT usuario FROM datosp WHERE email = '$email'",$conexion); 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){
$anio_dif = date("Y") - $anio; $mes_dif = date("m") - $mes; $dia_dif = date("d") - $dia; 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.
if (strlen($nombre_usuario)<3 || strlen($nombre_usuario)>20){ $verificarusuario = "0";
return false;
}
//compruebo que los caracteres sean los permitidos
$permitidos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_.";
for ($i=0; $i<strlen($nombre_usuario); $i++){ if (strpos($permitidos, substr($nombre_usuario,$i,1))===false){ $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.
if (strlen($nombre_usuario)<3 || strlen($nombre_usuario)>13){ $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){
ereg("([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha); $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