2017-12-14 6 views
2

食料雑貨品のパスワードの確認フィールドを使用してパスワードを確認する方法。食料雑貨のパスワード確認

これは私の試みですが、いくつかの方法、それが機能していない:私はこれを使用し

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と第二も3最大である必要があり、これを使用してコード行は両方の文字列を比較しています。

答えて

2

上記のコードは絶対に間違いありません。取得するエラーは、データベース内のフィールドと、コードで使用しているフィールドが類似していないために発生します。

などのために言って、あなたのコードに応じて、データベーステーブル「管理者」は唯一の3つのフィールドがあります。

ADMIN_NAME 
ADMIN_EMAIL 
ADMIN_PASSWORD 

そして、あなたのコードを使用すると、5つのフィールド送信されます。

ADMIN_NAME 
ADMIN_EMAIL 
ADMIN_PASSWORD 
ADMIN_NEW_PASSWORD 
CONFIRM_PASSWORD 

あなたが使用することができますがデータベーステーブルの新しいパスワードを更新するためのコールバック関数、つまり更新前のコールバック。

$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の設定を解除する必要があります
関連する問題