Ver Mensaje Individual
  #18 (permalink)  
Antiguo 18/06/2013, 11:40
Avatar de Nico0601
Nico0601
 
Fecha de Ingreso: diciembre-2012
Ubicación: Buenos Aires, Zona Sur
Mensajes: 134
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Devuelve mal el mensaje de error

Revisando de nuevo como me lo pasaste antes, funciona bien el tema de los errores y los mensajes.
EL problema esta en que si el archivo no tiene ningun error me inserta el ultimo registro del csv unicamente.
Asi esta el codigo
Código PHP:
$error 0
$file fopen($destino"r"); 
while (
$datos fgetcsv ($file1000",")) 

    
$num count($datos); 
    
$apellido $datos[0]; 
    
$apellido str_replace("'"," ",$apellido); 
    
$nombre $datos[1]; 
    
$nombre str_replace("'"," ",$nombre); 
    
$cuil $datos[2]; 
    
$basico $datos[3]; 
    
$bruto $datos[4]; 
    
$afili $datos[5]; 
 
    if(!(
preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ ]{2,50})$/i",$apellido))){ 
        
$error 1
    }elseif(!(
preg_match("/^([a-z ñáéíóú ÑÁÉÍÓÚ ]{2,50})$/i",$nombre))){ 
        
$error 2
    }elseif(!
cuitValido($cuil)){ 
        
$error 3
    }elseif(!
is_numeric($basico)){ 
        
$error 4
    }elseif(!
is_numeric($bruto)){ 
        
$error 5
    }elseif(
trim((string)$afili) !== "0" && trim((string)$afili) !== "1"){   
        
$error 6
    }
    
$hasError checkErrors($error$datos$nombre$apellido$destino);
    if(
$hasError != false){
        echo 
$hasError;
        break;
    }
}
if(
$error == 0){ 
    if(!
mysql_num_rows(mysql_query("SELECT cuil FROM ddjj WHERE cuil='$cuil'"))){  
        
mysql_query("INSERT INTO ddjj VALUES ('null','$apellido','$nombre','$cuil','$basico','$bruto','$afili')");  
    }else{ 
        
mysql_query("UPDATE ddjj SET apellido='$apellido', nombre='$nombre', cuil='$cuil', basico='$basico', bruto='$bruto', afiliado='$afili' WHERE cuil='$cuil'");  
    }
    
unlink($destino); 
    echo 
"<script> 
            alert('Importacion exitosa'); 
            window.location.href='form.htm'; 
        </script>"

}
function 
checkErrors($error$datos$nombre$apellido$destino){          
    
$mensaje '';
    if(
$error == 1){ 
        
$mensaje "La importacion se detuvo por el siguiente error <br /> 
        Corrija el siguiente campo $apellido e importe el archivo nuevamente"

    } 
    elseif(
$error == 2){ 
        
$mensaje "La importacion se detuvo por el siguiente error <br />
        Corrija el siguiente campo $nombre e importe el archivo nuevamente"

    } 
    elseif(
$error == 3){ 
        
$mensaje "La importacion se detuvo por el siguiente error <br />
        Corrija el siguiente campo {$datos[2]} e importe el archivo nuevamente"

    } 
    elseif(
$error == 4){ 
        
$mensaje "La importacion se detuvo por el siguiente error <br />
        Corrija el siguiente campo {$datos[3]} e importe el archivo nuevamente"

    } 
    elseif(
$error == 5){ 
        
$mensaje "La importacion se detuvo por el siguiente error <br />
        Corrija el siguiente campo {$datos[4]} e importe el archivo nuevamente"

    } 
    elseif(
$error == 6){ 
        
$mensaje "La importacion se detuvo por el siguiente error <br /> 
        Corrija el siguiente campo {$datos[5]} e importe el archivo nuevamente"

    } 
    
    if(
$mensaje != ''){
        
unlink($destino); 
        return 
$mensaje;
    }
    
    return 
false;

__________________
Nico...