Foros del Web » Programando para Internet » PHP »

Mostrar varias sentencias if, o un else

Estas en el tema de Mostrar varias sentencias if, o un else en el foro de PHP en Foros del Web. Hola a todos, en un pequeño script tengo un problema... Al enviar datos con un formulario, quiero que avise si por error se quedan vacios ...
  #1 (permalink)  
Antiguo 02/12/2007, 07:58
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Mostrar varias sentencias if, o un else

Hola a todos, en un pequeño script tengo un problema...

Al enviar datos con un formulario, quiero que avise si por error se quedan vacios

por ejemplo...

Código:
if(empty($variable1)){
echo "error 1";
}
if(empty($variable2)){
echo "error 2";
}
if(empty($variable3)){
echo "error 3";
}

else{
///codigo a ejecutar
}
pues bien dice todos los errores pero ejecuta el else...

para que salga bien, sustituyo a partir de la segunda sentencia por elseif, pero solo muestra el primer error aunque existan mas...

Me gustaria saber de que manera muestre todos los "errores" y en el caso de que no existiese ninguno ejecutara el codigo deseado

Un saludo!

Última edición por erfbidejeree; 02/12/2007 a las 08:51
  #2 (permalink)  
Antiguo 02/12/2007, 08:42
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: Mostrar varias sentencias if, o un else

que extraño, las sentencias no se equivocan muy seguido, lo mas probables es que tengas un error logico, podrias poner el codigo original?
__________________
Nuevamente a las pistas ...
  #3 (permalink)  
Antiguo 02/12/2007, 08:52
 
Fecha de Ingreso: noviembre-2006
Ubicación: Jerez de la Fra. (Cádiz)
Mensajes: 128
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Mostrar varias sentencias if, o un else

es el de arriba, es decir estoy haciendo la prueba...

Código:
if($enviar){
if(empty($variable1)){
echo "error 1";
}
elseif(empty($variable2)){
echo "error 2";
}
elseif(empty($variable3)){
echo "error 3";
}

else{
///codigo a ejecutar
}

}

else{

//formulario
}
es decir.. de esta manera.. si dejo vacio todos los campos.. dice que esta solamente el 1... si dejo el 2 y el 3.. dice que lo está el 2... y si estan todos rellenos pues ejecuta el codigo...

pero si en vez de eso uso

Código:
if($enviar){
if(empty($variable1)){
echo "error 1";
}
if(empty($variable2)){
echo "error 2";
}
if(empty($variable3)){
echo "error 3";
}

else{
///codigo a ejecutar
}

}

else{

//formulario
}
muestra todos los errores pero ejecuta el codigo

es decir... quiero que muestre todos los errores, y en el caso que no hubiese ninguno pues ejecutase el codigo

gracias por tu interes

Última edición por erfbidejeree; 02/12/2007 a las 08:59
  #4 (permalink)  
Antiguo 02/12/2007, 09:01
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Mostrar varias sentencias if, o un else

Código PHP:
function comprobarVariables()
{
  
$variables func_get_args();
    
    
$return true;
    
$errores '';
    foreach (
$variables as $clave => $valor)
    {
        if (!
$valor)
        {
            
$errores .= 'Variable '.($clave 1).' vacía<br />';
            
$return false;
        }
    }
    
    return array(
$return$errores);
}

$ups 'ups';
$ejem '';

list(
$comprobacion$errores) = comprobarVariables($ups$ejem);
if (!
$comprobacion)
{
    echo 
$errores;
}
else
{
    echo 
"BIEN";

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 23:52.