Foros del Web » Programando para Internet » PHP »

Ayuda con else

Estas en el tema de Ayuda con else en el foro de PHP en Foros del Web. Hola a todos... Tengo un formulario en el cual los datos cargados son enviados al archivo que procesa los datos ( registro.php ). En este ...
  #1 (permalink)  
Antiguo 05/05/2008, 11:58
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Ayuda con else

Hola a todos...

Tengo un formulario en el cual los datos cargados son enviados al archivo que procesa los datos (registro.php).

En este registro.php verifico si se han cargado algunos datos, si el mail ingresado no está en uso y quisiera comprobar también... que la forma de ingresar la fecha de nacimiento (para que sea admitido por la BD MySQL) sea correcta, de lo contrario mandarle un aviso.

Para esto, realicé un else parecido a la comprobación del mail (que sí funciona), pero en el caso de la fecha de nacimiento no.

No se que estoy haciendo mal o que barbaridad estoy cometiendo... por favor, necesito ayuda!!

Muestro como lo hice:
Código PHP:
<?php
}

// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["apellido"])) {
    
$apellido $_POST["apellido"];
    
$nombre $_POST["nombre"];
    
$email $_POST["email"];
    echo 
"<div style='text-align:center;font-weight:bold;font-size:200%;color:#005784;margin-top:200px;'>";
    echo 
"<span>$apellido </span>";
    echo 
$nombre;
    echo 
"</div>";
    
// Hay campos en blanco
    
if($apellido==NULL|$nombre==NULL|$nacimiento==NULL|$sexo==NULL|$pais==NULL|$residencia==NULL|$provincia==NULL|$email==NULL|$idioma==NULL|$investiga==NULL) {
        echo 
"<div style='font-size:250%;text-align:center;font-weight:bold;color:#B40404;'>Algún campo obligatorio está incorrecto o vacío!</div>";
        
formRegistro();
        }else{
            
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
            
$checkemail mysql_query("SELECT email FROM interinfogen WHERE email='$email'");
            
$email_exist mysql_num_rows($checkemail);
            if (
$email_exist>0) {
                echo 
"<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>La cuenta de correo <span style='color:blue;'>$email</span> ya está en uso.</div>";
                
formRegistro();
        }else{
            
// Comprobamos si la fecha nacimiento ingresada es correcta en su formato
            
$checknacimiento mysql_query("SELECT nacimiento FROM interinfogen WHERE nacimiento='DATE'");
            
$nacimiento_correct mysql_num_rows($checknacimiento);
            if (
$nacimiento_correct>true) {
                echo 
"<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>La fecha de nacimiento ingresada <span style='color:blue;'>$nacimiento</span> es incorrecta.</div>";
                
formRegistro();
        }
?>
Saludos.-
  #2 (permalink)  
Antiguo 05/05/2008, 12:03
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 18 años, 5 meses
Puntos: 6
Re: Ayuda con else

cual seria el error?
__________________
sEIK! -Chile-
Analista Programador.
  #3 (permalink)  
Antiguo 05/05/2008, 12:04
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 16 años, 6 meses
Puntos: 5
Re: Ayuda con else

Hi !

Te salta algun error, puedes colocarlo aqui ?
Otra cosa:
Código PHP:
if ($nacimiento_correct>true) {
                echo 
"<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>La fecha de nacimiento ingresada <span style='color:blue;'>$nacimiento</span> es incorrecta.</div>";
                
formRegistro();
        } 
Si $nacimiento es mayor a True ? ... Esto te funciona, nunca lo habia visto... Podrias haber hecho esto:

Código PHP:
if (mysql_num_rows($checknacimiento) > 0) { 
Si puedes pon el error que te da...

-ByE- !
  #4 (permalink)  
Antiguo 05/05/2008, 12:07
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años, 7 meses
Puntos: 4
Re: Ayuda con else

Pues creo que te faltan por cerrar tres llaves.
Te recomiendo que utilices un sistema de identacion de llaves homogeneo
Yo por ejemplo utilizo el siguiente, las llaves las cierro siempre en la misma columan en que las
abro, así no se me olvidan nunca y se fácilmente en que parte estoy (else, if, ...)

Código:
if (...)
{
  ...
}
else
{
  ...
  if ( ...)
  {
    ...
  }
  else
  {
     ...
  }  
}
En tu caso en código sería:

Código:
if (isset($_POST["apellido"])) 
{
  $apellido = $_POST["apellido"];
  $nombre = $_POST["nombre"];
  $email = $_POST["email"];
  echo "<div style='text-align:center;font-weight:bold;font-size:200%;color:#005784;margin-top:200px;'>";
  echo "<span>$apellido </span>";
  echo $nombre;
  echo "</div>";
  // Hay campos en blanco
  if($apellido==NULL|$nombre==NULL|$nacimiento==NULL|$sexo==NULL|$pais==NULL|$residencia==NULL|$provincia==NULL|
     $email==NULL|$idioma==NULL|$investiga==NULL) 
  {
    echo "<div style='font-size:250%;text-align:center;font-weight:bold;color:#B40404;'>Algún campo obligatorio está incorrecto o vacío!</div>";
    formRegistro();
  }
  else
  {
    // Comprobamos si el nombre de usuario o la cuenta de correo ya existían
    $checkemail = mysql_query("SELECT email FROM interinfogen WHERE email='$email'");
    $email_exist = mysql_num_rows($checkemail);
    if ($email_exist>0) 
    {
      echo "<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>La cuenta de correo <span style='color:blue;'>$email</span> ya está en uso.</div>";
      formRegistro();
    }
    else
    {
      // Comprobamos si la fecha nacimiento ingresada es correcta en su formato
      $checknacimiento = mysql_query("SELECT nacimiento FROM interinfogen WHERE nacimiento='DATE'");
      $nacimiento_correct = mysql_num_rows($checknacimiento);
      if ($nacimiento_correct>true) 
      {
        echo "<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>La fecha de nacimiento ingresada <span style='color:blue;'>$nacimiento</span> es incorrecta.</div>";
        formRegistro();
      }
    }
  }
}
?>
Las tres llaves en rojo del final, son las que creo que te faltan.
  #5 (permalink)  
Antiguo 05/05/2008, 12:32
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Re: Ayuda con else

Hola a todos y gracias por responder!

El asunto es que el else no está bien construido para verificar y a su vez avisar al usuario de que ha puesto el formato de fecha incorrectamente. Es decir, por ej. el usuario pone 17-10-1922 en vez de 1922-10-17 y quiero con el else comprobar y avisar...

De la forma que lo hice, sale el mensaje igual ponga bien la fecha o mal... MySQL no me tira ningún error.

No se como contruir el else!... lo hice aproximado al que hace la comprobación del mail, por eso les pido ayuda para construirlo.

Con el asunto de los cierres después veré.

Saludos.-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:16.