mysql 회원등급에 따른 로그인 질문입니다 0 4 1,727

by 함박눈 mysql 회원등급 로그인 [2016.02.01 11:14:21]


현재 mysql 사용중이고 코드이그나이터 프레임워크가 적용되어 있습니다.

테이블에 c_state라는 회원상태를 나타내는 필드가 있습니다(1일땐 정상회원/ 2일땐 일시정지회원/ 3일땐 삭제회원)

일시정지회원이거나 삭제회원일땐 로그인을 못하게 하려고 합니다.

그래서 컨트롤러쪽에서 아이디값이 존재하고 $m_state(회원상태)가 2또는 3이면 로그인페이지로 가게끔 아래와 같은 소스를 짰습니다.

if($data['cs_id'] >0){															
					if($m_state=='2' || $m_state=='3'){											
						header("Location: http://사이트 URL/clogin/login");
						exit();
				}
				}

그런데 회원상태가 일시정지인 아이디로 로그인해봐도 로그인이 잘 되더라구요ㅠ;;

위의 소스에 문제가 있어서인지 아니면 컨트롤러쪽이 아니라 모델쪽에서 쿼리로 구성해야되는건지 모르겠습니다.

어떤식으로 구성해야 현명한 방법일지 선배님들께 조언을 구하고자 합니다

by terry0515 [2016.02.01 12:26:41]

1. 입력받은 회원id 로 c_state 정보 가지고옴

2. c_state 값에 따라 로그인페이지 Redirect 여부 결정.


by 함박눈 [2016.02.01 15:51:52]

답변 감사합니다 :)


by DeSSa [2016.02.01 13:06:46]

1. 입력 받은 회원정보와 로그인 성공 state 정보로 질의 함.

ex)SELECT COUNT(*) FROM c WHERE 조건(id) =? AND status = 1;

2. return 되는 count의 개수가 1개 이상이면 Login Success. 아니면 LoginPage로

 

if($m_state=='2' || $m_state=='3') => if($m_state != '1') 

해당 구조상으로는 bold체로 되어 있는 부분으로 해주셔야 좀더 효율적일것 같습니다.


by 함박눈 [2016.02.01 15:52:28]

답변 감사합니다^^

참고하여 해결했습니다ㅎ 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입