In this article, we will discuss, How to change an old password with MySQL database using the CodeIgniter 3.

1. Create a controller file Password.php in the applications/controllers/ directory.

class Password extends CI_Controller {
	public function __construct() {

		parent::__construct();

		$this->load->model(‘password_model’, ‘password’);
	}       
	
	public function change_password() {
		$this->load->view(‘change_password’);word
	}

	public function update_password() {
		$id	 	= $this->session->userdata('login_id');
		$current_pass 	= $this->input->post('current_password');
		$new_pass	= $this->input->post('new_password');
		$confirm_pass 	= $this->input->post('confirm_password');

		if($new_pass == $confirm_pass) {
			$res = $this->password->check_password($id, $current_pass);
			if($res) {
				$data = [
					‘password’	=> $new_pass,
				];
				$result = $this->password->update_password($id, $data);
				if($result) {
					echo “New password is updated successfully.”;
				} else {
					echo “Something went wrong. Please try again.”;
				}
			} else {
				echo “Current password is invalid.”;
			}
		} else {
			echo “New password and confirm password does not match..”;
		}
	}
}

2. Create a model file Password_model.php in the applications/models/ directory.

class Password_model extends CI_Model {

	public function check_password($id, $password) {
		$this->db->where([“id”=>$id, “password”=>$password]);
		$query = $this->db->get(“user_info”);
		return $query->num_rows();
	}

	public function update_password($id, $data) {
		return $this->db->update(“user_info”, [“id”=>$id], $data);
	}
}

3. Create a change_password.php file in the applications/views/ directory.

<form method="post" 
	action='<?php echo base_url('password/update_password') ?>'>
	<label>Current Password :</label>
	<input type="password" name="current_password" 
	id="current_password" placeholder="Current Password" />
	<br />
	<label>New Password :</label>
	<input type="password" name="new_password" 
	id="new_password" placeholder="New Password" />
	<br/>
	<label>Confirm Password :</label>
	<input type="password" name="confirm_password" 
	id="confirm_password" placeholder="Confirm Password" />
	<br/>
	<input type="submit" value="Update Password" />
	<br />
</form>