Foros del Web » Programando para Internet » PHP » CodeIgniter »

Validacion de Formularios y Subida de Archivos

Estas en el tema de Validacion de Formularios y Subida de Archivos en el foro de CodeIgniter en Foros del Web. Saludos, Me esta pasando algo bien raro usando CI. En uno de mis controladores tengo una validación de formulario y dentro de esta hay una ...
  #1 (permalink)  
Antiguo 22/07/2011, 12:08
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Validacion de Formularios y Subida de Archivos

Saludos,

Me esta pasando algo bien raro usando CI.
En uno de mis controladores tengo una validación de formulario y dentro de esta hay una subida de archivos.
La validación y la subida de archivos funciona perfectamente, salvo por una "cosita".

Cuando subo un archivo mayor a 3M, que es lo que especifiqué como tamaño máximo para los archivos, no pasa nada. No muestra el error. Nisiquiera entra en la validacion del formulario.

Con codigo para que se entienda mejor, tengo mi controlador:
Código PHP:
Ver original
  1. //Imaginemos que ya tengo cargadas las librerias necesarias
  2. class Prueba extends Controller {
  3.     public function do_something() {
  4.         //Seteo mis reglas, por ejemplo:
  5.         $this->form_validation->set_rules('campo', 'Campo', 'trim|required');
  6.        
  7.         if($this->form_validation->run() === true) {
  8.             //Subo el archivo:
  9.             if($this->modelo->subirArchivo()) {
  10.                 //El archivo se subio correctamente
  11.             } else {
  12.                 //El archivo no subio, mostrar error
  13.             }
  14.         } else {
  15.             //Mostrar errores
  16.         }
  17.         $this->load->view('formulario', $data);
  18.     }
  19. }

Si no lleno los campos, salen los errores de validación.
Si lleno los campos y elijo un archivo menor de 3M, lo sube y guarda el registro
Si lleno los campos y elijo un archivo mayor de 3M, se salta la validacion.

Hice una prueba poniendo lo siguiente:
Código PHP:
Ver original
  1. //Imaginemos que ya tengo cargadas las librerias necesarias
  2. class Prueba extends Controller {
  3.     public function do_something() {
  4.         //Seteo mis reglas, por ejemplo:
  5.         $this->form_validation->set_rules('campo', 'Campo', 'trim|required');
  6.        
  7.         if($this->form_validation->run() === true) {
  8.             //Subo el archivo:
  9.                         var_dump($_FILES);
  10.                         return;
  11.             if($this->modelo->subirArchivo()) {
  12.                 //El archivo se subio correctamente
  13.             } else {
  14.                 //El archivo no subio, mostrar error
  15.             }
  16.         } else {
  17.             //Mostrar errores
  18.         }
  19.         $this->load->view('formulario', $data);
  20.     }
  21. }

Si lo corro con el archivo menor de 3M y los campos, sale el contenido de $_FILES usando el var_dump().
Si lo corro con el archivo mayor a 3M y los campos llenos, no sale el var_dump() y vuelve a cargar el view formulario

¿Que puede estar pasando?
¿Estoy haciendo algo mal?
¿Alguien ha tenido un problema similar?

Gracias por las respuestas de antemano

EDIT: Una ultima nota, ya verifique las variables en mi php.ini y estan seteadas correctamente.

Última edición por Ronruby; 22/07/2011 a las 12:17
  #2 (permalink)  
Antiguo 22/07/2011, 13:12
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: Validacion de Formularios y Subida de Archivos

En teoria te debe mostrar los rules de validacion de la clase Upload, la primera validacion de la clase Form_validation ya la paso no?:

//El archivo no subio, mostrar error

Y que tienes acá?
$this->modelo->subirArchivo()
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 22/07/2011, 13:36
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Validacion de Formularios y Subida de Archivos

Código PHP:
Ver original
  1. $config['upload_path'] = 'public/uploads/document/';
  2.         $config['allowed_types'] = 'pdf';
  3.         $config['max_size'] = '3072';
  4.        
  5.         $config['file_name'] = md5(uniqid());
  6.        
  7.         $this->load->library('upload', $config);
  8.        
  9.         if($this->upload->do_upload()) {
  10.             return $this->upload->data();
  11.         }
  12.         return $this->upload->display_errors();

Algo bien simple ...
  #4 (permalink)  
Antiguo 22/07/2011, 19:21
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Validacion de Formularios y Subida de Archivos

Hola,

Estuve realizando unas pruebas y al parecer CI solo ejecuta 1 validación a la vez (por decirlo así). Cree un controlador de prueba y puse unas validaciones para un formulario así como también una subida de archivo. Si ocurre un error en la validación del archivo, CI no valida lo demás.

Pondré mi duda en el foro de CI a ver que me dicen.
  #5 (permalink)  
Antiguo 22/07/2011, 21:36
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: Validacion de Formularios y Subida de Archivos

Cita:
Iniciado por Ronruby Ver Mensaje
Hola,

Estuve realizando unas pruebas y al parecer CI solo ejecuta 1 validación a la vez (por decirlo así). Cree un controlador de prueba y puse unas validaciones para un formulario así como también una subida de archivo. Si ocurre un error en la validación del archivo, CI no valida lo demás.

Pondré mi duda en el foro de CI a ver que me dicen.
Quise probar el código, pero no he tenido tiempo, pero me parece extraño que sea asi como mencionas. Es algo ilógico en caso de que sea asi.
Postea la respuesta acá si hay alguna novedad.

Por cierto cuando tenga un rato libre voy a probar a ver que pasa...
Saludos.
__________________
Drupal Argentina

Etiquetas: controller, frameworks-y-php-orientado-a-objetos, subida, formulario
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 14:00.