CI 묻고 답하기

제목 로그인 인증 관련 질문입니다.
카테고리 CI 2, 3
글쓴이 쪼무래기 작성시각 2019/03/06 11:14:35
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 12764   RSS
//로그인 컨트롤러

    function auth(){
        $user=$this->user_m->get_user(array('user_id'=>$this->input->post('user_id', TRUE)));
        if($this->input->post('user_id', TRUE)==$user->user_id && $this->input->post('passwd', TRUE)==$user->passwd){
            //일치
            $this->session->set_userdata('is_login', TRUE);
            redirect('/');
        }else{
            //불일치
            $this->session->set_flashdata('message', '아이디와 비밀번호를 다시 확인하세요');
            redirect('user/login');
        }


    }

//로그인 모델

function get_user($option){        

$data=array(           

'user_id'=>$option['user_id']       

);        

$users=$this->db->get_where('user_tbl', $data)->row();        

return $users;    

}

 

//////

위 컨트롤러 소스에서 

$user=$this->user_m->get_user(array('user_id'=>$this->input->post('user_id', TRUE))); 

 

이부분이 이해가 안됩니다.

모델의 get_user메소드에서 데이터를 받아오는 부분인것 같은데 왜 $this->input->post('user_id', TRUE)를 쓰는건지 ...ㅜㅜ

$this->input->post('user_id', TRUE) 이부분은 사용자가 입력한 값을 받는 부분이 아닌가요..?

 

 다음글 한글 검색 404오류 도와주세요.. (3)
 이전글 경로문제관련 질문입니다. (1)

댓글

kaido / 2019/03/06 11:25:33 / 추천 0

post 값 user_id 를 받아오는 것이며, 뒤에 true 는 xss 필터 기능을 넣겠다는 의미입니다.

해당 구조를 풀이해 보자면 배열형태로 파라메터를 넘기는데 모델로 가서는 user_id 키값 배열만 걸러내서 쓰겟다는 의미입니다.

$data=array(          

'user_id'=>$option['user_id']      

);      

해당 부분을 빼면 array 로 넘겨준 파라메터 전체를 where 조건으로 넣겠다는 의미가 됩니다.

앞에서는 자유롭게 넘겨주고, 처리할때 필수요소만 뽑아서 쓰는 형태로 로직을 구성한 것입니다.

쪼무래기 / 2019/03/06 11:34:20 / 추천 0
감사합니다!