2014-02-18 2 views
0

В подтверждении формы текущий пароль должен совпадать с паролем, который я вошел в систему. Если текущий пароль, который я вводил, совпадает с паролем, который я использую для входа в систему, я могу изменить его. Но это не работает, я могу поместить любой пароль в мое текущее поле пароля. Мой вопрос заключается в том, как вводить в матчи функцию пароля, который я использую для входа. (Пароль, который я использую для записи, хранится в сеансе).соответствует функции аргумент codeigniter

function edit_info() 

{ 
    $this->load->helper(array('form', 'url')); 
    $this->load->library('session'); 
    $this->load->library('form_validation'); 
    $this->form_validation->set_rules('firstname2','FirstName','trim|required'); 
    $this->form_validation->set_rules('lastname2','LastName','trim|required'); 
    $this->form_validation->set_rules('current_password','Current Password','trim|required|matches(password)'); 
    $this->form_validation->set_rules('password3','Password','trim|required|min_length[4]|max_length[32]'); 

    if($this->form_validation->run() == FALSE) 
    { 
     $this->edit(); 
    } 
    else 
    { 

     $this->load->model('membership_model'); 
     if($this->membership_model->edit_member()) 
     { 
      $data['main_content']='edit_successful'; 
      $this->load->view('includes/template',$data); 
     } 
     else 
     { 
      $this->load->view('main_menu'); 
     } 
    } 
} 

ответ

0

Необходимо выполнить обратный вызов функции внутри контроллера.

// call function to check 
$this->form_validation->set_rules('current_password','Current Password','trim|required|callback_password_check'); 

// do your check and return false or true 
public function password_check($str){ 

} 

Перейти к: http://ellislab.com/codeigniter%20/user-guide/libraries/form_validation.html#callbacks

+0

Я сделал это. благодаря – user3313651

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