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

Subir imagen con Ajax

Estas en el tema de Subir imagen con Ajax en el foro de CodeIgniter en Foros del Web. He revisado varias veces y no entiendo porque sale el error: Message: Undefined property: Grupos::$upload El jQuery: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original $ ...
  #1 (permalink)  
Antiguo 10/02/2017, 06:37
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Subir imagen con Ajax

He revisado varias veces y no entiendo porque sale el error: Message: Undefined property: Grupos::$upload

El jQuery:
Código Javascript:
Ver original
  1. $('#frmNuevoGrupo').submit(function(e) {
  2.         e.preventDefault();
  3.     }).validate({
  4.         rules: {
  5.             txtNombre: { required: true },
  6.             txtDescripcion: { required: true },
  7.             txtImagenGrupo: { required: true }
  8.         },
  9.         messages: {
  10.             txtNombre: { required: 'Debe escribir el nombre del grupo.' },
  11.             txtDescripcion: { required: 'Debe escribir la descripción del grupo.' },
  12.             txtImagenGrupo: { required: 'No se seleccionó ninguna imagen.' }
  13.         },
  14.         submitHandler: function(form) {
  15.             var url = $('#frmNuevoGrupo').attr('action');
  16.             var met = $('#frmNuevoGrupo').attr('method');
  17.             var msg = $('#mensaje');
  18.             var mdl = $('#mdlNuevoGrupo');
  19.  
  20.             var formData = new FormData($("#frmNuevoGrupo")[0]);
  21.  
  22.             $.ajax({
  23.                 url: url,
  24.                 type: met,
  25.                 data: formData,
  26.                 cache: false,
  27.                 contentType: false,
  28.                 processData: false,
  29.                 success: function(data) {
  30.                     var opt = data.split('|');
  31.  
  32.                     if (opt[1] == '1') {
  33.                         msg.removeClass('mensaje-good').addClass('mensaje-error');
  34.                     } else {
  35.                         msg.removeClass('mensaje-error').addClass('mensaje-good'); 
  36.                     }
  37.  
  38.                     msg.html(opt[0]);
  39.                     msg.fadeIn('medium').delay(2000).fadeOut('medium', function() {
  40.                         $('#tblGrupos tbody').load(base_url + 'admin/grupos/cargarGrupos');
  41.                         $('#frmNuevoGrupo input').val('');
  42.                         $('#frmNuevoGrupo textarea').val('');
  43.                         mdl.modal('hide');
  44.                     });
  45.                 }
  46.             });
  47.         }
  48.     });

El controlador:
Código PHP:
Ver original
  1. public function guardarGrupo()
  2.     {
  3.         $config = [
  4.             "upload_path"   => './images/grupos',
  5.             "allowed_types" => 'jpg'
  6.         ];
  7.  
  8.         $this->load->library("upload", $config);
  9.  
  10.         if ($this->upload->do_upload("txtImagenGrupo")) {
  11.             $data = array("upload_data" => $this->upload->data());
  12.  
  13.             $nom = $this->input->post('txtNombre');
  14.             $des = $this->input->post('txtDescripcion');
  15.             $img = $data["upload_data"]["file_name"];
  16.  
  17.             $res = $this->Grupos_model->guardarGrupo($nom, $des, $img);
  18.  
  19.             if ($res === 'M') {
  20.                 $msg = 'El grupo ya existe en nuestra base de datos.|1';
  21.             } elseif ($res === false) {
  22.                 $msg = 'El grupo no pudo ser guardado.|1';
  23.             } else {
  24.                 $msg = 'El grupo fue guardado con éxito.|0';
  25.             }
  26.         } else {
  27.             $msg = $this->upload->display_errors() . '|1';
  28.         }
  29.  
  30.         echo $msg;
  31.     }

El modelo:
Código PHP:
Ver original
  1. public function guardarGrupo($nom, $des, $img)
  2.     {
  3.         $this->db->where('nombre', $nom);
  4.         $q = $this->db->get('grupos');
  5.  
  6.         if ($q->num_rows() > 0) {
  7.             return 'M';
  8.         }
  9.         else {
  10.             $data = array(
  11.                     'nombre'        => $nom,
  12.                     'descripcion'   => $des,
  13.                     'imagen'        => $ima
  14.                 );
  15.             $q2 = $this->db->insert('grupos', $data);
  16.  
  17.             if ($q2) {
  18.                 return true;
  19.             }
  20.             else {
  21.                 return false;
  22.             }
  23.         }
  24.     }

Espero que me puedan ayudar. Gracias.
__________________
El aprendiz.

Etiquetas: ajax
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 07:19.