更新到新密码不适用于代码点火器


Updating to a new password not working with codeigniter

将密码更新为新密码不起作用。 不知道为什么。在我的控制器中,我添加了更新密码的代码。

我的控制器

public changePassword(){
  $pass=$this->input->post('oldpassword');
  $npass=$this->input->post('newpassword');
  $rpass=$this->input->post('rnewpassword');
                
  if($this->input->post('submit') != '')
  {
    if($npass!=$rpass){
      return "false";
    }
    else{
      $this->db->select('*');
      $this->db->from('user');
      $this->db->where('user_name',$this->session->userdata('username'));
      $this->db->where('pwd',md5($pass));
      $query = $this->db->get();
      if($query->num_rows()==1){
        $data = array(
          'pwd' => md5($npass)
        );
        $this->db->where('user_name', $this->username);
        $this->db->update('user', $data); 
        return "true";
      }else{
        return "false";
      }
    }
  }
}

鉴于此,我添加了 3 个文本框来获取用户输入并将其传递给控制器。

我的观点

<form method="post" action="<?php echo base_url() ."DashBoardController/changePassword"?>">                 
  <p><label> Old Password </label></p>
  <p><input type="password" id="oldpassword" name="oldpassword"></input></p>
  <p><label>New Password</label></p>
  <p><input type="password" id="newpassword" name="newpassword"></input></p>
  <p><label>Confirm New Password</label></p>
  <p><input type="password" id="rnewpassword" name="rnewpassword"></input></p>
  <input type="submit" id="submit" value="submit"></input>
  <input type="reset" id="reset" value="Reset"></input>
</form>

使用Pimary Key是更好的方法

        $this->db->where('user_id', $this->userid);
        $this->db->update('user', $data); 
相关文章: