私はコードイグナイターが初めてです。パスワードを変更して、古いパスワードと一致させたい。一致した場合、ユーザーは新しいパスワードを入力できます。私のビューファイルは
<div class="modal-body">
<?php echo form_open('textarea/changePass')?>
<input class="span5" type="password" name="oldPass" placeholder="Old Password" required/>
<input class="span5" type="password" name="newPass" placeholder="New Password" required/>
<input class="span5" type="password" name="renewPass" placeholder="Re-type New Password" required/>
<input type="submit" value="Change" class="btn btn-primary btn-inverse" />
<button type="button" data-dismiss="modal" class="btn">Cancel</button>
<?php echo form_close()?>
</div>
私のコントローラーファイルは次のとおりです。
function changePass(){
$this->load->library('form_validation');
$this->form_validation->set_rules('oldPass','Old Password','required');
$this->form_validation->set_rules('newPass','New Password','required');
$this->form_validation->set_rules('renewPass','Retype Password','required|matches[newPass]');
if($this->form_validation->run() == FALSE){
$ref = $this->input->server('HTTP_REFERER', TRUE);
redirect($ref, 'location');
}else{
$query = $this->mod1->checkOldPass(md5($this->input->post('oldPass')));
echo "sdgsggs";
if($query){
$query = $this->mod1->saveNewPass(md5($this->input->post('newPass')));
if($query){
$this->session->sess_destroy();
$data['error']='Password Change Successfully. Please login to Continue.';
$this->load->view('first',$data);
}else{
$ref = $this->input->server('HTTP_REFERER', TRUE);
redirect($ref, 'location');
}
}
}
}
私のモデルファイルは次のとおりです。
function checkOldPass($oldPass){
$this->db->where('username',$this->session->userdata('username'));
$query=$this->db->get('members');
if($query->num_rows>0){
$row=$query->row();
if($oldPass == $row->password){
return true;
}else{
return false;
}
}
}
function saveNewPass($new_pass){
$data = array(
'password' => $new_pass
);
$this->db->where('username', $this->session->userdata('username'));
$query = $this->db->update('members', $data);
if($query){
return true;
}else{
return false;
}
}
古いパスワードの確認に問題があります。false を返します。パスワードを md5 形式で保存しました。みんな助けてください。厳しくしないでください。ありがとうございました。