私は codeigniter を使用しています。ユーザーパスワードが存在するかどうかを確認する関数を作成しました。これは私のモデルです
モデル:ユーザー
public function get_some_password($username,$password) {
$this->db->where('user_password', $password); $this->db->where('user_username',$username); $query=$this->db->get('some_users_table'); if($query->num_rows()==1){ return true; }else{ return false; }
コントローラー
public function check_password() {
$username=$this->uri->segment(3); $temp_pass= $this->input->post('current_password'); $password=md5($temp_pass); $this->user->get_some_password($username,$password);}
- ビューの ajax
//ページ読み込み時に実行
var success1 = $(".success"); //成功した場合に表示されるビューの div var error1 = $(".error"); //エラーが発生した場合に表示されるビューの div success1.hide(); error1.hide();
$('#change_password').click(function() { var username = $('#username').val(); dataString2 = $('#changpassword').serialize(); $.ajax({ type: "POST", url: '<?php echo base_url(); ?>controller_name/check_password/' + username, data: dataString2, success: function() { $('.success').html('password successfully updated!'), success1.slideDown('slow'); }, error: function() { $('.error').html('Wrong current password!'), error1.slideDown('slow'); } });
問題: Ajax は、返されたユーザー名またはパスワードが false の場合でも、success div をロードします。