2017-02-13 4 views
1

я пытаюсь изменить пароль в базе данных, но это не working..it печать пароль correctly..but это не сохранить в базе данных ..сброса пароля в CodeIgniter

Вот мой контроллер:

общественная функция RESETPWD ($ user_id = NULL) {

//echo $user_id; 
$this->load->helper('form'); 
$data['msg']=array(); 
if($this->input->post()) 
    { 
    $user_id= $this->input->post('user_id'); 
    //echo $id; 
    $this->LoginModel->resetpwd($this->input->post(),$user_id); 
//redirect(base_url('resetpwd/'.$id)); 
    } 
    $this->load->view('Admin/resetpwd',$data); 

}

Вот моя модель:

function resetpwd($post='',$user_id) 
{ 

    $data=array('password'=>$post['password']); 
    $this->db->where('user_id', $user_id); 
    $this->db->update('users', $data); 
    return true; 
    print_r($data); 

} 

Пожалуйста, помогите мне, как это сделать

Спасибо

ответ

0

Вы можете просто получить пароль в модели страницы, используя почтовый метод extract($_POST) и вы можете получить новый пароль, как $data=array('password'=>$password)

Ваш Модель is-

function resetpwd($user_id) 
{ 
    extract($_POST); 
    $data=array('password'=>$password); 
    $this->db->where('user_id', $user_id); 
    $this->db->update('users', $data); 
    return true; 
    //print_r($data); 

} 
0

, пожалуйста, попробуйте этот код.

Контроллер:

class Adminuser extends CI_Controller { 

public function __construct() 
    { 

    parent::__construct(); 
    $this->load->model('loginModel'); 
    $this->load->helper('form'); 

    } 

    public function resetpwd() 
{ 

$data['msg']=array(); 
if($this->input->post()) 
    { 
    $user_id= $this->input->post('user_id'); 

    $this->loginModel->change_password($this->input->post('password'),$user_id); 

    } 
    $this->load->view('Admin/resetpwd',$data); 
} 

} 

Ваша модель Функция:

public function change_password($password,$user_id) 
{ 

    $data=array('password'=>$password); 
    $this->db->where('user_id', $user_id); 

    if($this->db->update('users', $data)) 
    { 
     return true; 
    } 
    else{ 
     return false; 
    } 
} 
2

Пожалуйста, попробуйте этот код.

function resetpwd($post=array(),$user_id) 

Вы передали массив сообщений функции resetpwd, чтобы получить массив в переменной массива. Измените только одну строку, она будет работать.

Thank you.

0

Применить этот код

function resetpwd($post, $user_id) 
{ 
    $data=array('password'=>$post['password']); 
    $this->db->where('user_id', $user_id); 
    $this->db->update('users', $data); 
    return true; 

} 
+0

'print_r ($ данные),' после возвращения? – BWA

Смежные вопросы