2014-09-21 19 views
1

У меня есть макет, когда я нажимаю кнопку отправки, данные с этой страницы сохраняются в базе данных. Я могу распечатать ошибки проверки формы на одной странице, но я не могу напечатать сообщение об успешном завершении на этой странице, я могу напечатать сообщение успеха на другой странице, как я могу показать сообщение в той же странице plz help.Как показать сообщение об успешном использовании с помощью codeigniter?

Вот контроллер:

function addRoom(){ 
     $data['title'] = 'Add Room'; 
     $data['main_content'] = 'config/addRoom'; 
     $data['roomlists'] = $this->config_mdl->get_room_info(); 
     $this->load->view('_base/layout', $data); 
    } 

    function roomAdd(){ 
     $this->form_validation->set_rules('roomType', 'Room Type', 'trim|required|xss_clean'); 
     $this->form_validation->set_rules('roomName', 'Room Name', 'trim|required|xss_clean'); 
     $this->form_validation->set_rules('roomDetails', 'Room Details', 'trim|required|xss_clean'); 
     $this->form_validation->set_error_delimiters('<div class="alert alert-danger" role="alert">', '</div>'); 

     if ($this->form_validation->run() == FALSE) { 

      $this->addRoom(); 

     } else { 
      $roomdata = array('room_type' => $this->input->post('roomType'), 
          'room_name' => $this->input->post('roomName'), 
          'room_details' => $this->input->post('roomDetails')); 
      $this->config_mdl->roomAdd($roomdata); 

     }   
    } 

Вот моя модель:

function roomAdd($roomdata) 
    { 
     return $this->db->insert('tbl_room_info', $roomdata); 
    } 

Вот мой взгляд:

<div class="panel-body"> 
    <?php echo validation_errors(); ?> 
    <?php $attributes = array('class' => 'form-horizontal', 'role' => 'form'); 
         echo form_open_multipart('config/roomAdd', $attributes); 
        ?> 
    <div class="form-group"> 
     <label for="roomType" class="col-sm-2 control-label">Room type</label> 
     <div class="col-sm-2"> 
     <select name="roomType" class="form-control"> 
     <option>Select</option> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     </select> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label for="roomName" class="col-sm-2 control-label">Room Name</label> 
     <div class="col-sm-6"> 
     <input type="text" class="form-control" name="roomName" placeholder="Type Room Name" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label for="roomDetails" class="col-sm-2 control-label">Room Details</label> 
     <div class="col-sm-6"> 
     <textarea class="form-control" name="roomDetails" rows="3"></textarea> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-sm-offset-2 col-sm-6"> 
     <button type="submit" class="btn btn-primary">Submit</button> 
     </div> 
    </div> 
    <?php echo form_close(); ?> 
    </div> 

ответ

4

Просто добавьте (использование сеанса один раз) в flash data после вставка:

} else { 
    $roomdata = array(
     'room_type' => $this->input->post('roomType'), 
     'room_name' => $this->input->post('roomName'), 
     'room_details' => $this->input->post('roomDetails') 
    ); 

    $this->config_mdl->roomAdd($roomdata); 

    // set flash data 
    $this->session->set_flashdata('msg', 'Room added'); 
    redirect('controller_name/addRoom'); 
} 

Тогда в представлении (addRoom):

<?php if($this->session->flashdata('msg')): ?> 
    <p><?php echo $this->session->flashdata('msg'); ?></p> 
<?php endif; ?> 
+0

Спасибо вам @Ghost. –

+0

@ Xubayerpantho уверен, что и не рад, что это помогло – Ghost

Смежные вопросы