Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2010, 12:38
Avatar de cesarpunk
cesarpunk
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
validando file

Hola... tengo una curiosidad sobre una lógica de validación en php.

Resulta que tengo 2 campos FILE, uno para subir imagenes y otro para subir documento de texto... cada uno a la vez tienen 2 radiobutton que pregunta si desean subir el archivo ya que no es obligatorio.

Ahora, lo valido de esta manera:

Código PHP:
//radiobuttons
$agrego_imagen $_POST['agregari'];
$agrego_catalogo $_POST['agregarc'];
//files dentro de una clase
//....

//validación
if($agrego_imagen == '1'){
    if(
$ImageName != NULL){
    if(
$Imagetype == true){
    if(
$sFileSize 1048576){
        
// agregamos imagen
        
$UploadImg true;
    }else{
$Report '* ERROR: El archivo sobrepasa de 1MB.';}
    }else{
$Report utf8_encode('* ERROR: El tipo de imagen no es válido.');}
    }else{
$Report '* ERROR: Seleccione una imagen para el producto.';}
}else{
$UploadImg true;}
// Validamos entrada de catalogo
if($agrego_catalogo == '1'){
    if(
$CatalogoName != NULL){
    if(
$Catalogotype == true){
    if(
$CatalogoSize 5242880){
        
// agregamos catalogo
        
$UploadCatg true;
    }else{
$Report utf8_encode('* ERROR: El catálogo sobrepasa de 5MB.');}
    }else{
$Report utf8_encode('* ERROR: El tipo de archivo de catálogo no es válido.');}
    }else{
$Report utf8_encode('* ERROR: Seleccione un archivo para el catálogo del producto.');}
}else{
$UploadCatg true;}
/*Confirmamos reporte de archivos subidos o no subidos*/
if($UploadImg == true and $UploadCatg == true){
    
$Report 'success';

La validación me funciona bien pero lo extraño es que primero ingresa al segundo IF (el radiobutton que verifica por los archivos de texto) y luego cuando cumplo la condición retrocede al primer IF y en caso se cumpla finaliza la validación en el tercer IF... no entiendo porque no me valida ordenadamente?
__________________
Quitenme la vida pero no la bebida.