Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/11/2012, 10:59
baravaro
 
Fecha de Ingreso: noviembre-2012
Mensajes: 97
Antigüedad: 11 años, 5 meses
Puntos: 1
Problema con $_FILES

Muy buenas, soy nuevo!!!!

Bien, tengo un problemilla; estoy haciendo una tienda online de instrumentos musicales para un proyecto de curso...

El problema viene ahora: hay una sección donde el admin de la supuesta tienda puede cambiar los datos ( incluyendo imagen) de los intrumentos que haya.

Bien, supongamos que el admin va a cambiar esos datos; quiero que cuando cambie los datos ( por ejemplo la marca) la imagen quede intacta, por lo que hice este código:

Código PHP:
if(isset($cambio)){
        
        
$consulta="update instrumentos set Cod_instrumento='$Cod_instrumento', Marca='$Marca',Tipo='$Tipo', Precio='$Precio',                                                   Descripcion='$descripcion',Modelo='$Modelo', forma='$forma', cantidad='$cantidad' WHERE Cod_instrumento='$Cod_instrumento'";
        
$hacerConsulta=mysql_query($consulta$conectado);
        
        
//////////////////recogemos foto y si existe hacemos update si no no/////////////////////
        
        
if(!empty($_FILES)){
            
$archivoRecibido=$_FILES["foto"]["tmp_name"];
            
$destino="../../Imagenes/Instrumentos/Guitarras/Articulo/".$_FILES["foto"]["name"];
            
move_uploaded_file($archivoRecibido$destino);
            
            
$consulta="select Id_foto from fotos where Cod_instrumento='$Cod_instrumento'";
            
            
$hacerConsulta=mysql_query($consulta$conectado);
            
$matriz=mysql_fetch_assoc($hacerConsulta);
            
$id=$matriz['Id_foto'];
            
            
/*$insertar="update fotos set Id_foto='$id',Nombre_foto="."'".$_FILES["foto"]["name"]."', Cod_instrumento='$Cod_instrumento'";
            */
            
$insertar="update  `bravo_musical`.`fotos` SET  `Nombre_foto` =  "."'".$_FILES["foto"]["name"]."'
                        where convert(  `fotos`.`Id_foto` USING utf8 ) =  '$id' limit 1" 
;/// para local
            
echo $insertar;    
               
/*$insertar="update  `u462533314_musical`.`fotos` SET  `Nombre_foto` =  "."'".$_FILES["foto"]["name"]."'
                        where convert(  `fotos`.`Id_foto` USING utf8 ) =  '$id' limit 1" ;*/
            /*echo $insertar;*/
            
$hacerInsertardo=mysql_query($insertar$conectado);
            
            
            
        } 
Como ven,compruebo si existe $cambio( que sería el boton de confirmar de la primera pagina), si es así, actualizo los datos del instrumento, y luego compruebo si $_files está vacio; si está vacio, en teoría salta y no entra en ese if, por el contrario, si no está vacio es porque el admin quiere cambiar la imagen...

Bien, pues cuando cambio cualquier dato del instrumento, si tocar para nada la imagen, el programa me entra en el if( que debería estar vacio porque no esta cambiando la imagen) y por lo tanto en la base de datos me mete el $_FILES con datos en blanco...

Se que es un poco lioso, dado además de que ninguno conoceis mi proyecto, y que puede que yo me explique como un libro cerrado... en cualquier caso ayudadme en lo que buenamente puedan y gracias!!!