新しいパスワードcodeigniterに変更する前に古いパスワードを確認する

私は彼らが編集できるユーザーの詳細とダッシュボードを持っています。パスワードの変更を追加したいのですが、パスワードを変更する前に、新しいパスワードに変更する前に現在のパスワードの確認方法を教えてください。

フォームには3つのフィールドがあります。最初のフィールドに current_password があり、 new_password confirm_password が続きます。

0

3 答え

codeigniterにはフォーム検証クラスが付属しており、こちらのドキュメント。 その目的は、その名前が示すとおりです。フォーム入力の検証に役立ちます。一度それに慣れると、それは本当に便利です。

これはあなたのコントローラが見える方法です:

public function change_password() {
   if ($this->input->post()) {
     //user submitted the form
      if (some_encryption_function($this->input->post('current_password'))==password_from_db) {//pseudo code

         $this->load->library('form_validation');//this should probably belong somewhere else like in the constructor of the controller
         $this->form_validation->set_rules('new_password', 'New Password', 'trim|required|min_length[4]|max_length[12]|matches[confirm_password]');
         $this->form_validation->set_rules('confirm_password', 'Confirm Password', 'trim|required|min_length[4]|max_length[12]');

         if ($this->form_validation->run() == false) {
            data['message'] = validation_errors();
         } else {
            store_new_password_to_db($this->input->post('new_password');
            data['message'] = "Some success message";
         }
         $this->load->view('your_change_password_view',$data);
      }
   }
}

これは、フォーム検証クラスの完全な例ではありません。その3つのフィールドをそのヘルプなしで簡単に検証できるからです。しかし、すでにcodeigniterを組み込んでいるので、それを使わないのはなぜですか?

1
追加された

彼らに古いパス、新しいパスワードを入力させ、新しいパスワードを確認させる。次に、

if (old pass == password stored in database)
{
    if (new password == confirm password)
     {
          //update password in database
     }
}
0
追加された
$oldPass = get_password_from_db();
$currentPass = $this->input->post("old_pass");
$newPass = $this->input->post("new_pass");
$confPass = $this->input->post("conf_pass");
//check if new and confirm pass are same
if(md5($currentPass) == $oldPass) {
    //update query to change to new pass
}

それが役に立てば幸い

0
追加された
ご協力ありがとうございました。私は正しい方向に向いています!
追加された 著者 Wolfwood,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com