2016-05-31 103 views
1

我試圖做一個更改密碼功能,但什麼也沒有發生。我實際上改編了codeigniter change password代碼,但是再次沒有任何事情發生。在這裏我附上了代碼,任何hep都將不勝感激。更改codeigniter上的密碼

控制器 -

function change_password_process() 
    { 
     $this->load->view('ubahpassword_view'); 
     $this->load->library('form_validation'); 
     $this->load->library('session'); 
     $this->form_validation->set_rules('pass_lama','Password Lama','trim|required|min_length[4]|max_length[32]'); 
     $this->form_validation->set_rules('pass_baru','Password Baru','trim|required|min_length[4]|max_length[32]'); 
     $this->form_validation->set_rules('ulangpass_baru','Ulangi Password Baru','trim|required|min_length[4]|max_length[32]|matches[pass_baru]'); 

     if ($this->form_validation->run() == FALSE) 
     { 
      redirect('ubahpassword');  
     } 
     else 
     { 
      $query = $this->rekammedis_model->change_password(); 
      redirect('ubahpassword'); 
     } 
    } 

模型 -

function change_password() 
    { 
     $this->db->select('id'); 
     $this->db->where('username', $this->session->userdata('username')); 
     $this->db->where('id', $this->session->userdata('id')); 
     $this->db->where('password', md5($this->input->post('pass_lama'))); 
     $query = $this->db->get('user'); 

     if ($query->num_rows() > 0) 
     { 
      $row = $query->row(); 
      if($row->id === $this->session->userdata('id')) 
      { 
       $data = array(
        'password' => md5($this->input->post('pass_lama')) 
       ); 

       $this->db->where('username', $this->session->userdata('username')); 
       $this->db->where('password', md5($this->input->post('pass_lama'))); 

        if($this->db->update('user', $data)) 
        { 
         return "Password berhasil diganti!"; 
        } 

        else 
        { 
         return "Terdapat kesalahan, password tidak terganti"; 
        } 
      } 

      else 
      { 
       return "Terdapat kesalahan, password tidak terganti"; 
      } 


     } 

     else 
     { 
      return "Password lama salah"; 
     } 

    } 
+0

pass_lama是您的舊密碼字段名稱或新密碼字段名稱 –

+0

即時通訊對不起的問題。 yes pass_lama是我的舊密碼,pass_baru是我的新密碼,ulangpass_baru是我的新密碼確認。你能幫我找到哪裏是錯誤的代碼? – nadiakrtika

回答

1

假設巴魯意味着新的和喇嘛意味着舊。

您與舊密碼本身(pass_baru)正在改變舊密碼

所以更換

$data = array('password' => md5($this->input->post('pass_lama'))); 

$data = array('password' => md5($this->input->post('pass_baru'))); 


UPDATE
發現了另一個錯誤

if ($this->form_validation->run() == FALSE) 
{ 
    redirect('ubahpassword');  
} 

你不能把它重定向,如果你這樣做,你就不會在這裏得到驗證。
將您的視圖加載到此處。同時更新您的代碼如果它不起作用

+0

我已經這樣做了,但還是一樣沒有發生 – nadiakrtika

+0

@nadiakrtika我更新了我的解決方案 –