2014-09-21 80 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