Php 更改codeigniter上的密码

Php 更改codeigniter上的密码,php,codeigniter,Php,Codeigniter,我试图更改密码功能,但什么也没发生。我实际上修改了代码,但再次,什么也没发生。在这里我附上了代码,任何hep都将不胜感激 控制器- function change_password_process() { $this->load->view('ubahpassword_view'); $this->load->library('form_validation'); $this->load->library

我试图更改密码功能,但什么也没发生。我实际上修改了代码,但再次,什么也没发生。在这里我附上了代码,任何hep都将不胜感激

控制器-

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";
        }

    }
假设巴鲁的意思是新的,喇嘛的意思是旧的

您正在使用旧密码本身更改旧密码(pass\u baru

因此,替换

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


更新
发现了另一个Bug

if ($this->form_validation->run() == FALSE)
{
    redirect('ubahpassword');    
}
您无法重定向它,如果重定向,您将无法在此处得到验证。

在这里加载您的视图本身。如果上面的代码不起作用,也要更新它

pass\u lama是您的旧密码字段名还是新密码字段名我为这个错误的问题感到抱歉。是的,pass_lama是我的旧密码,pass_baru是我的新密码,ulangpass_baru是我的新密码确认。你能帮我找到哪里的密码错了吗?
if ($this->form_validation->run() == FALSE)
{
    redirect('ubahpassword');    
}