2014-09-21 82 views
1

我有一個從佈局,當我按提交按鈕從這個頁面的數據保存到數據庫。我可以在同一頁面中打印我的表單驗證錯誤,但是我無法將我的成功消息打印到此頁面中,我可以將成功消息打印到另一個頁面中,如何將消息顯示到同一頁面中。如何使用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。 – 2014-09-22 05:10:35

+0

@Xubayerpantho肯定也不高興它幫助 – Ghost 2014-09-22 06:06:50