form_validation->set_r"/> 폼검증에서 username_check 부분에 대해서 궁금합니다. - CodeIgniter 한국사용자포럼

CI 묻고 답하기

제목 폼검증에서 username_check 부분에 대해서 궁금합니다.
글쓴이 동도리군 작성시각 2009/06/24 01:26:53
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 24282   RSS
메뉴얼 예제를 보다가 보니깐
로그인같은것을 만들때 어떻게 해야할지 궁금하더군요.
로그인을 할경우 "아이디", "비밀번호" 2가지를 입력해서 폼검증에서 CALL_BACK 기능을 이용할때는 어떻게들 하시는가요?

$this->form_validation->set_rules('username', 'Username', 'callback_username_check');

이렇게 되어있을경우

function username_check()
{
여기서 체크구문
}
이렇게 들어가던데
2가지 값을 한꺼번에 보내서 같이 체크를 하는 방법은 없나요?

그냥 2번째 인자값으로 가야할 "비밀번호"는 POST 값 받는 방식으로 받는 수밖에 없는가요?
 다음글 드디어 관리자 페이지'만' 끝. (6)
 이전글 URL 블로그 형식에 대해서 질문이 있는데요. (2)

댓글

동도리군 / 2009/06/24 15:25:52 / 추천 0
로그인 할경우
"아이디", "비밀번호" 두가지를 다 받아야 되지 않습니까?
로그인 처리 함수가
function loginProcess()
{
$this->form_validation->set_rules('userID','userID','callback_userID_check');
}
일경우
function userID_check($userID)
{
// DB에서 $userID, $userPWD 두가지를 값으로 가져와서 결과값이 있는지 확인
// 세션 발생
// 리턴 true
}
할려고 하는데 이렇게 하는방법이 어떤것이 있는지 궁금해서요.
동도리군 / 2009/06/24 17:55:53 / 추천 0
그렇군요 ^*^ 전 그냥 폼검증 부분에서 한꺼번에 2개이상이 배열형식으로 처리가 된다고 할때 call_back 요청하는 함수쪽에서
"아이디", "비밀번호"가 둘다 이상이 없을때 바로 세션 발생 하는걸로 될줄 알았어요.
변종원(웅파) / 2009/06/25 10:45:25 / 추천 0
콜백기능은 아이디의 경우 아이디 중복체크하실 때 쓰시는 겁니다. 폼검증에서 부가기능쯤으로 생각하시면 됩니다.
아이디가 있는지, 자릿수, 영문 체크하고 넘어오는건 ci 폼검증에서 담당을 하고 그 넘어온 값이 중복된 아이디면 안되니까 중복검사를 하실때 쓰면 됩니다.

$config = array(
array(
'field' => 'user_id',
'label' => '아이디',
'rules' => 'callback_userid_check'
),
array(
'field' => 'site_domain',
'label' => '도메인',
'rules' => 'required'
),
array(
'field' => 'user_nm',
'label' => '이름',
'rules' => 'required'
),
array(
'field' => 'user_pw',
'label' => '패스워드',
'rules' => 'required|min_length[4]'
),
array(
'field' => 'user_nickname',
'label' => '닉네임',
'rules' => 'callback_nick_check'
)
);

function nick_check($ju) //닉네임 사용 체크 콜백
{
if (!$ju) {
$this->form_validation->set_message('nick_check', '닉네임을 입력하세요.');
return FALSE;
exit;
}
//echo strlen($ju);
if (strlen($ju) < 6 or strlen($ju) > 30) {
$this->form_validation->set_message('nick_check', '닉네임은 2자이상 10자이하로 입력하세요.');
return FALSE;
exit;
}
$str = $this->admin_m->nick_check($ju);

if ($str > 0)
{
$this->form_validation->set_message('nick_check', '중복된 닉네임입니다.');
return FALSE;
}
else
{
return TRUE;
}
}

아이디체크 콜백함수는 넘 길어서 안올리고 참고하시라고 닉네임 중복체크 콜백함수 올려드립니다.