Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/08/2014, 16:30
nimaki25
 
Fecha de Ingreso: noviembre-2010
Mensajes: 131
Antigüedad: 13 años, 5 meses
Puntos: 1
insertar igual en bd si no se subio archivo

Hola amigos, tengo el siguiente inconveniente, tengo un formulario donde el usuario puede publicar noticas, y si lo desea, adjuntar imagenes, en la bd tengo los campos de imagenes como no requeridos, ya que no es obligacion el upload de fotos, ahora haciendo unas pruebas de validacion de formatos me encuentro con que si no subo una imagen no puedo publicar nada..

Necesito validar que si no se sube nada, se pueda publicar igual la noticia:

deberia ser con un if, eso lo tengo claro, lo que no entiendo del todo es donde poner el if...

tengo el codigo asi:

Funcion para hacer el insert (en un archio php aparte):
Código PHP:
//Inserción de Datos en Base de Datos
        
function insertarAvisos($rutas = array('''')){
          
/* echo '<pre>';
                print_r($rutas);
                echo '</pre>';*/
            
            
           
try{
               
               
//$titulo_aviso=filter_input(INPUT_POST,$titulo_aviso,FILTER_SANITIZE_MAGIC_QUOTES);
               
                
$query  ="INSERT INTO avisos (titulo_aviso,categoria_aviso,tipo_aviso,comuna,aviso_completo,valor_producto,fecha_publicacion,nombre,telefono_celular,telefono_fijo,correo_electronico,direccion,img1,img2,img3,img4,img5)"//,img1,img2,img3,img4,img5 
                
$query .="VALUES(:titulo_aviso,:categoria_aviso,:tipo_aviso,:comuna,:aviso_completo,:valor_producto,:fecha_publicacion,:nombre,:telefono_celular,:telefono_fijo,:correo_electronico,:direccion,:img1,:img2,:img3,:img4,:img5)"//,:rutas[0],:rutas[1],:rutas[2],:rutas[3],:rutas[4]
                //Preparamos la consulta
                
$stmt$this->con->prepare($query);
                
$stmt->bindParam(':titulo_aviso',$_POST['titulo_aviso'],PDO::PARAM_STR);
                
$stmt->bindParam(':categoria_aviso'$_POST['categoria_aviso'] ,PDO::PARAM_STR);
                
$stmt->bindParam(':tipo_aviso'$_POST['tipo_aviso'] ,PDO::PARAM_STR);
                
$stmt->bindParam(':comuna'$_POST['comuna'],PDO::PARAM_STR);
                
$stmt->bindParam(':aviso_completo'$_POST['aviso_completo'],PDO::PARAM_STR);
                
$stmt->bindParam(':valor_producto'$_POST['valor_producto']);
                
//Fecha de Publicacion
                
$stmt->bindParam(':fecha_publicacion',date('Y-m-d'time()),PDO::PARAM_STR);
                
$stmt->bindParam(':nombre'$_POST['nombre'] ,PDO::PARAM_STR);
                
$stmt->bindParam(':telefono_celular'$_POST['telefono_celular']);
                
$stmt->bindParam(':telefono_fijo'$_POST['telefono_fijo']);
                
$stmt->bindParam(':correo_electronico'$_POST['correo_electronico'] ,PDO::PARAM_STR);
                
$stmt->bindParam(':direccion'$_POST['direccion'] ,PDO::PARAM_STR);
                
$stmt->bindParam(':img1'$rutas[0]); //, $this->rutas[0]
                
$stmt->bindParam(':img2' ,$rutas[1]);
                
$stmt->bindParam(':img3' ,$rutas[2]);
                
$stmt->bindParam(':img4' ,$rutas[3]);
                
$stmt->bindParam(':img5' ,$rutas[4]);

                
//Ejecutamos la Consulta
                
$stmt->execute();
                echo 
"<div class='alert alert-success alert-dismissable'>";
                echo 
"<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>";
                echo 
"Su aviso ha Sido Publicado con Exito...Gracias por Utilizar nuestra Plataforma";
                echo 
"</div>";

                }catch(
PDOException $e){
                       echo 
$e->errorInfo;
                echo 
"<div class=\"alert alert-danger alert-dismissable\">";
                echo 
"<button type=\"button\" class=\"close\" data-dismiss=\"danger\" aria-hidden=\"true\">&times;</button>";
                echo 
"Su aviso no se ha podido Publicar...Por favor Intente mas Tarde";
                echo 
"</div>";
                }
//catch
  
        
}//funcion InsertarAvisos 
y el script que procesa el upload y llama a la funcion insertar:
Código PHP:
require_once '../Inc/funciones.php';

$obj = new Avisos();

/*$obj->insertarAvisos();*/

if(isset($_POST['enviar'])){
  
    if(isset(
$_FILES['fotosavisos'])){
     
$rutas = array(''''); // Inicializas con dos rutas vacías
             //Subida de Archivos
            
foreach($_FILES['fotosavisos']['tmp_name'] as $key => $nombresTemporal)
            {   
                          
                
//Nombre del Arreglo generado con el input fotosavisos
                
$nombres=$_FILES['fotosavisos']['name'][$key];
                
                
//Nombre Temporal de la Imagen (Generada por el servidor)
                
$nombresTemporal=$_FILES['fotosavisos']['tmp_name'][$key];
                
                
//Tamaño de la Imagen
                
$tamaño=$_FILES['fotosavisos']['size'][$key];
                
                
//Tipo de Imagen
                
$tipo=$_FILES['fotosavisos']['type'][$key];
                
                
$nombres=uniqid(date('Ymd')).$nombres;
               
                
//$nombres=uniqid(microtime()) . $nombres;
                
                
$nombres=preg_replace('#[^a-z.0-9,\s+]#i'''$nombres);
                
                
//$ext = end(explode(".", $nombres));
                
                //$nombres=  substr(($nombres),0,25);
                
                
$nombres=substr(md5($nombres), 010);
                
                
//Extension
                //$mak=explode(".", $nombres);
                
                //$extensionimg=end($mak);
                //$ext = end(explode(".", $nombres));
                
                              
                //$nombres=substr($nombres, 0, 10);
                
                //$nombres=$nombres . '.' . $extensionimg;

                
               //$nombres= $nombres . '.' . $ext;
                
                //$nombreUnico=substr(md5($nombres),0 , 10);
               
                
                
                /*if (!preg_match("/.(jpg|jpeg|JPG|gif|png)$/i", $nombres) ) {
                // This condition is only if you wish to allow uploading of specific file types    
                //echo "ERROR: Solo Imagenes con formato: .gif, .jpg, or .png.";
                //echo "<script type=\"text/javascript\">alert(\"ERROR: Solo Imagenes con formato: .gif, .jpg, or .png\");</script>";  
                //echo '<meta http-equiv="Refresh" content="0;URL=../index.php">';
                //echo header("location: ".$_SERVER['HTTP_REFERER'] ." ");
                //unlink($nombresTemporal); // Remove the uploaded file from the PHP temp folder
                
                exit();
                
                 
                  } */
                
                
               
                //$nombreunico    =   substr($nombreunico,0,10 );
               
                //$nombreunico    =   preg_replace('#[^a-z.0-9]#i', '', $nombres);
               
                
               
                //Ruta en Servidor
               
$rutaFinal="../imagenes_avisos/" $nombres//.$nombreunico.$nombres
               
$rutaFinalSQL="imagenes_avisos/" $nombres//VALIDAR QUE ESTA RUTA EXISTA

            //Movemos los Archivos al Servidor
            
move_uploaded_file($nombresTemporal,$rutaFinal);
            
            
//crearMiniatura($nombres);
              
            // Actualizas la ruta correspondiente para este archivo
            
$rutas[$key] = $rutaFinalSQL;

        }
//foreach  
        
                    
            
//Llamamos a la funcion Insertar $obj->insertarAvisos();
        
    
try{
        
        
$obj->insertarAvisos($rutas);
            
//print_r($_POST);
    
}catch(PDOException $e){
        echo 
$e;
    }
        
    }


}

?>