묻고답하기
회원가입 확장변수 DB 직접 입력
2012.08.08 17:09
XE와 외부사이트 회원연동을 위하여 작업을 하고 있습니다.
제목처럼, 외부 DB에 있는 정보를 읽어와서 xe_member 테이블에 바로 입력하려고 합니다.
회원 가입 확장변수를 나이(age), 주소(addr1, addr2), 전화번호(phone), 휴대폰(mobile)로 지정하였습니다.
1. 아래와 같이 외부 DB에서 회원정보를 불러온 다음 기존 XE 회원정보와 비교하여 동일한 ID가 있으면 로그인 시키고
ID가 없으면 DB에 직접 입력하려고 합니다.
// 외부 회원 DB 호출부분 생략
$mysql = mysqli_connect('localhost', 'root', '1111', '1111');
if (!$mysql) {
echo " Cannot connect to Database. ";
exit;
}
$query = "SELECT count(*) FROM xe_member WHERE USER_ID = '".$user_id."'";
$result = mysqli_query($mysql, $query);
$row = mysqli_fetch_row($result);
$count = $row[0];
if ($count > 0) {
$r=$member->doLogin($user_id, $passwd, '');
echo "<script language='JavaScript' type='text/JavaScript'>location.href='/'</script>";
} else {
$obj->user_id=$user_id;
$obj->user_name=$user_name;
$obj->nick_name=$user_id;
$obj->password=$passwd;
$obj->email_address=$email;
$obj->age=$age;
$obj->krzip_address1_address=$addr1;
$obj->krzip_address2_address=$addr2;
$obj->phone=$phone;
$obj->mobile=$mobile;
$r= $member->procMemberInsert2($obj); //member.controller.php 에 function을 추가 하였습니다.
echo "<script language='JavaScript' type='text/JavaScript'>
location.href='/';
</script>" ;
}
2. 위와 같이 하였는데, 회원 ID가 없을 경우 입력하는 부분에서 user_id, user_name, nick_name, password 는 정상적으로 입력되고
확장변수로 지정한 나머지 변수들은 입력이 되지 않습니다.
아마도 확장변수를 입력하는 부분에서 다른 방법을 써야 될 것 같은 느낌이 듭니다.
제가 아직 XE 문법에 익숙하지 않다보니 별다른 시도를 해볼 길이 없네요.
고수님들의 좋은 답변 기다리겠습니다.
감사합니다.
serialize