CI 묻고 답하기

제목 DB SELECT 문
글쓴이 떠날거야 작성시각 2016/01/22 16:02:33
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13053   RSS

예를 들어 디비에 member라는 테이블이 있습니다.

member테이블 안에 컬럼은 id, pass, type, grade..등 이 있을 때,

select * from member;

member테이블에 있는 모든 컬럼 데이터를 들고 와서

로그인 처리 시 select pass from member where id='user_id';

id로 pass를 들고와서 비교 후 로그인 성공하면

session에 member테이블 안에 있는 모든 데이터를 저장 하려고 합니다.

각각 처리 할 때 마다 필요한 쿼리를 작성해야 하나요?

$data = $this->db->get('member'); 하고

$data안에 들어있는 pass컬럼 값을 꺼낼 수 있는지..

$data에서 필요한 데이터만 추출하여 사용할 수 있는지 궁금합니다..

 

 다음글 where절 DB 에러 문제입니다 ㅠ,ㅠ (1)
 이전글 AceMTcounter 로그 모듈 설치 질문입니다 (9)

댓글

한대승(불의회상) / 2016/01/22 16:27:57 / 추천 0

네 모두 가능 합니다.

세션을 기준으로 해서 먼저 조회하고 만약 세션에 데이터가 없다면 DB에 조회해서 세션에 저장하는 로직을 작성하시면 됩니다.

떠날거야 / 2016/01/22 17:56:55 / 추천 0

@한대승(불의회상)

빠른 답변 감사합니다.

말씀하신 세션을 기준으로 먼저 조회한다는 것이 $pass= $this->session->userdata('pass'); 하고 사용자가 입력한 password와 비교한다는 말씀이신지요.. 제가 초보자라 하나씩 다 해보고 있지만 구현이 안되서 간단한 팁을 얻을 수 있을까요?

한대승(불의회상) / 2016/01/22 18:05:07 / 추천 0

세션에 암호를 저장하는건 크게 의미가 없을것 같군요.

 

1. 세션에 로그인된 사용자 데이터가 있는지 확인한다.

2. 세션에 사용자 데이터가 없다면 로그인 폼을 출력한다. (로그인이 필요한 페이지의 경우)

3. 로그인폼에서 전송된 사용자 아이디와 비밀번호를 디비에서 확인한다.

4. 아이디와 비밀번호가 같다면 세션에 사용자 정보를 저장한다.

5. 나머지 필요한 다른 로직들을 실행한다.

 

이런식의 흐름을 타겠지요.

이해가 잘 안되신다면 포럼 소스를 다운받아 로그인을 어떤식으로 처리 하는지 분석해 보세요.

떠날거야 / 2016/01/25 15:01:28 / 추천 0

@한대승(불의회상)

감사합니다^^