2017-12-14 2 views
2

식료품 crud에서 비밀번호 확인 필드를 사용하여 비밀번호를 확인하는 방법.식료품 crud에서 비밀번호 확인

이 내 시도는하지만 일부가 작동하지 않는 방법 :

public function index(){ 
      $crud = new grocery_CRUD(); 
      $crud->set_table('admins'); 
      $crud->columns('ADMIN_NAME','ADMIN_EMAIL','ADMIN_OLD_PASSWORD','ADMIN_NEW_PASSWORD','CONFIRM_PASSWORD'); 
      $crud->fields('ADMIN_NAME','ADMIN_PASSWORD','ADMIN_EMAIL','ADMIN_NEW_PASSWORD','CONFIRM_PASSWORD'); 
      $crud->unset_back_to_list(); 

      $crud->change_field_type('ADMIN_NEW_PASSWORD', 'password'); 
      $crud->change_field_type('CONFIRM_PASSWORD', 'password'); 

      $crud->set_rules('ADMIN_NEW_PASSWORD', 'Password', 'min_length[3]|max_length[20]'); 
      $crud->set_rules('CONFIRM_PASSWORD', 'Password Confirmation', 'matches[ADMIN_NEW_PASSWORD]'); 
    } 

내가이 사용이를 사용하여

$crud->set_rules('ADMIN_NEW_PASSWORD', 'Password', 'min_length[3]|max_length[20]'); 

$crud->set_rules('CONFIRM_PASSWORD', 'Password Confirmation', 'matches[ADMIN_NEW_PASSWORD]'); 

를 암호의 최소 길이는 (20)과 2 일 3 최대해야한다 코드 줄은 두 문자열을 비교합니다.

답변

2

위의 코드는 맞습니다. 오류는 데이터베이스의 필드로 인해 발생하며 코드에서 사용중인 필드는 유사하지 않습니다.

ADMIN_NAME 
ADMIN_EMAIL 
ADMIN_PASSWORD 

그리고 당신의 코드를 통해 당신이 5 개 필드 보내는 :

ADMIN_NAME 
ADMIN_EMAIL 
ADMIN_PASSWORD 
ADMIN_NEW_PASSWORD 
CONFIRM_PASSWORD 

당신이 사용할 수를

말 예에 대한 귀하의 코드에 따라 데이터베이스 테이블 '관리자'는 3 필드가 콜백 함수 즉, 데이터베이스 테이블의 새 암호를 업데이트하기 위해 업데이트 전에 콜백.

$crud->callback_before_update(array($this,'update_password')); 

function update_password(){ 
//call the modle and execute the update query in the modle. 
//unset the NEW_PASSWORD and CONFIRM_PASSWORD fields before returning 
return; 
} 

따라서 당신은

$crud->render(); 
전에 필드 ADMIN_NEW_PASSWORD 및 CONFRIM_PASSWORD 설정을 해제 할 필요가