2016-10-13 3 views
0

Я пытаюсь понять, почему мое действие формы не приводит меня к контроллеру ... Я нажимаю кнопку обновления на моем модальном модуле, который должен обновлять информацию о модальном отношении к базе данных ... и когда я нажмите его, ничего не происходит, нет ошибки, нет сообщения, он просто закрывает модальность и все. ПОМОГИТЕ PLS !!!. Вот мой код:Форма действия Codeigniter не работает

ФОРМА

<div id="modal1" class="modal modal-fixed-footer"> 

<div class="modal-content"> 

<h3 class="center-align">Actualizar registro</h3> 

<div class="row"> 
    <form class="col s12" id="update_form" enctype="multipart/form-data" method="post" action ="<?= base_url()?>admin/update_politic"> 
     <div class="row"> 
     <div class="input-field col s6"> 
      <input id="update_name" type="text" name="name" class="validate"> 
      <label for="first_name">Nombre</label> 
     </div> 
     <div class="input-field col s6"> 
      <input id="update_last_name" name="lastname" type="text" class="validate"> 
      <label for="last_name">Apellido</label> 
     </div> 
     </div> 
     <div class="row"> 
     <div class="input-field col s6"> 
      <input id="update_side" type="text" name="side" class="validate"> 
      <label for="partido">Partido</label> 
     </div> 
     <div class="input-field col s6"> 
      <input id="update_charge" type="text" name="charge" class="validate"> 
      <label for="cargo">Cargo</label> 
     </div> 
     </div> 
     <div class="row"> 
      <div class="input-field col s6"> 
       <div class="file-field input-field no-margin-top"> 
        <div class="btn light-blue darken-4"> 
        <span>Animación/Imagen</span> 
        <input type="file" name="animation_file"> 
        </div> 
        <div class="file-path-wrapper"> 
        <input class="file-path validate" id="animation" name="animation" type="text"> 
        </div> 
       </div> 
      </div> 

      <div class="input-field col s6"> 
      <select id="update_section" name="section" autocomplete="off"> 
       <option value="" disabled selected>Seleccione una opción</option> 
       <option value="1">Presidencia</option> 
       <option value="2">Senadores</option> 
       <option value="3">Diputados</option> 
      </select> 
      <label>Sección</label> 
      </div> 
     </div> 
     <input type="hidden" name="update_politic_hide" id="update_politic_hdn" value=""> 
     <div class="row"> 
     <button class="btn waves-effect waves-light light-blue darken-4" id="submit_update" type="submit" name="action">Actualizar</button> 
     </div> 
    </form> 
    </div> 
</div> 

CONTROLLER

public function update_politic(){ 

    echo "entreeeeeeee"; 
       if (empty($_FILES['animation_file']['name']))//Compruebo si el array $_files no tiene ningun valor en su elemento name 
       { 
       //El metodo obtenerImagen me retorna los valores de dicho id 
        $data = $this->politic->get_file_name($this->input->post('update_politic_hide')); 
        $imagen = $data->POLITIC_FILE;//recupero el nombre de la imagen 
       } 
       else{ 
        //en caso exista algun valor se procede a subir 
        $this->load->library("upload"); 
        $config['upload_path'] = "./public/uploads/"; 
        $config['allowed_types'] = "*"; 
        $config['max_size'] = "500000"; 
        $config['max_width'] = "2000"; 
        $config['max_height'] = "2000"; 


        if (!$this->upload->do_upload("animation")) { 
        $data['uploadError'] = $this->upload->display_errors(); 
        echo $this->upload->display_errors(); 
        } 
        else { 

        $file_info = $this->upload->data(); 
        $params["name"] = $this->input->post("name"); 
        $params["lastname"] = $this->input->post("lastname"); 
        $params["side"] = $this->input->post("side"); 
        $params["charge"] = $this->input->post("charge"); 
        $params["animation"] = $file_info['file_name']; 
        $params["section"] = $this->input->post("section"); 

        if ($params["section"]=="Presidencia") { 
         $params["section"]=1; 
        } 

        if ($params["section"]=="Senadores") { 
         $params["section"]=2; 
        } 

        if ($params["section"]=="Diputados") { 
         $params["section"]=3; 
        } 

        $this->load->model("politic"); 
        $this->politic->update($params); 
       } 

       } 
} 
+0

Вы могли бы попытаться использовать форму помощника. И затем используйте form_open_multipart() http://www.codeigniter.com/user_guide/helpers/form_helper.html#form_open_multipart – user4419336

+0

Указывает ли ваш URL-адрес вашей формы IP-адрес в URL-адресе, если вам нужно установить ваш config.php base_url. другая проверка http://www.codeigniter.com/user_guide/general/styleguide.html#file-naming – user4419336

+0

Нет, все в порядке ... Я использовал базовый url в других разделах проекта и без проблем. –

ответ

0

Try This

<?php echo form_open(base_url() . 'admin/update_politic' , array('class' => 'form-horizontal form-groups-bordered validate', 'enctype' => 'multipart/form-data'));?> 
+0

Дайте мне знать, если не работает –

+0

Не работает пока = (... Я пробую ваше решение и ничего, no сообщение, нет ошибки, ничего. –

+0

use вместо кнопки –

0

Вы использовали base_url()?>admin/update_politic за отправку формы. Но вы не упомянули об этом контроллере. Если у вас есть контроллер администратора, тогда все будет в порядке. В противном случае, это является причиной этого представления.

+0

У меня есть контроллер администратора created = ( –

+0

) Функция funcion update_politic - это метод внутри контроллера администратора. –

+0

Я проверил ваш код и нашел, что он отправляется в контроллер администратора без каких-либо проблем. включите отчет об ошибках, затем вы можете легко диагностировать эту ошибку. – Jobayer

0

Вместо кнопки использовать < input type = "submit" значение = «Отправить» класс = «Ваше имя класса здесь»>