2014-03-26 123 views
0
public function edit_profile(){ 

     $logged_in_user = $this->session->userdata('logged_in'); 
     $data['images_url'] = $this->config->item('images_url'); 
     $data['cdn_url'] = $this->config->item('cdn_url'); 
     $data['reminder'] = $this->config->item('reminder'); 
     $data['current_module'] = "ess"; 
     $data['user_details'] = $this->ess->get_user_details($logged_in_user['user_id']); 
     $this->load->view("header", $data); 
     $this->load->view("leftbar", $data); 
     $this->load->view("ess/ess_edit_profile"); 
     $this->load->view("footer", $data); 

      if($this->input->post('submit')){ 
      $post_data = $this->input->post(); 
      $this->form_validation->set_rules('full_name','Full Name','required|trim|xss_clean'); 
      $this->form_validation->set_rules('email','Email','required|trim|valid_email'); 
      $this->form_validation->set_rules('blood_group','Blood Group','max_length[2]'); 
      $this->form_validation->set_rules('phone','Phone','required|trim|xss_clean'); 
      $this->form_validation->set_rules('address','Address','required|xss_clean|max_length[100]'); 
      $this->form_validation->set_rules('designation','Designation','required|xss_clean'); 
      $this->form_validation->set_rules('emergency_name','Emergency Name','required|xss_clean'); 
      $this->form_validation->set_rules('emergency_number','Emergency Number','required|xss_clean'); 
      $this->form_validation->set_rules('next_of_kin','Next of Kin','trim|xss_clean'); 

      if($this->form_validation->run() === true){ 
       // update data 
      } else { 
       $this->load->view("ess/ess_edit_profile"); 
      } 



} 
} 

以上是我的控制器的功能,它可以在輸入字段中加載帶有數據庫填充值的編輯配置文件視圖。現在當編輯完成後提交表單進入edit_profile()函數的驗證過程。我故意運行錯誤的驗證函數來檢查目的。現在如果驗證運行===假我再次加載了ess_edit_profile視圖,但驗證消息沒有出現。另外,表單字段越來越填充我已經通過set_value()功能防止表單在驗證失敗時顯示默認值codeigniter

下面設置如何我顯示與數據庫中的數據表單字段

<td> 
        <label for="full_name">Full Name</label> 
        <input style="width: 300px;" type="text" name="full_name" id="full_name" value="<?php echo set_value('full_name',$user_details[0]->ui_full_name); ?>" /> 
        <?php echo form_error('full_name', '<span class="alert">', '</span>'); ?> 
       </td> 

回答

0

試試這個刪除其他部分,然後嘗試默認值

if($this->form_validation->run() === true){ 
       // update data 
      } 
    $this->load->view("ess/ess_edit_profile"); 
+0

裏面有什麼不同? –

0

請使用set_value函數來設置多個元素值

像這樣

<input type="text" name="name" value="<?php echo set_value("name", $database_name)?>"/> 

在控制器

$this->form_validation->set_rules('name','Edit name','trim|xss_clean|required'); 

如果該值不要求那麼還設置驗證規則trim

$this->form_validation->set_rules('name','Edit name','trim'); 
+0

@格里什我已經更新了我的問題。我已經在做這種善意的檢查 –