회원가입 폼에서 여분필드 활용
본문
http://gnustudy.com/bbs/board.php?bo_table=skin_etc&wr_id=2
이 글을 참조하여 회원가입에 여분필드를 활용해보려하는데...
회원가입 폼 -> 이메일 부분에 여분필드로 도메인주소를 select값으로 넘겨받고싶습니다....ㅠㅠㅠㅠ
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
<!-- 기존 이메일 폼 -->
<input type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input required" maxlength="100" placeholder="E-mail">
@
<!-- 도메인 text부분 여분필드 mb_1 추가 -->
<input type="text" name="mb_1" value="<?php echo isset($member['mb_1'])?$member['mb_1']:''; ?>" id="mb_1" required readonly class="frm_input required" maxlength="100" placeholder="E-mail 선택">
<!-- 도메인 select부분 여분필드 mb_2 추가 -->
<select name="mb_2" id="mb_2" class="frm_input">
<option value="">E-mail 선택</option>
<option value="naver.com" <?php echo ($member['mb_2'] == "naver.com") ? "selected" : ""; ?>>naver.com</option>
<option value="daum.net" <?php echo ($member['mb_2'] == "daum.net") ? "selected" : ""; ?>>daum.net</option>
<option value="nate.com" <?php echo ($member['mb_2'] == "nate.com") ? "selected" : ""; ?>>nate.com</option>
<option value="hotmail.com" <?php echo ($member['mb_2'] == "hotmail.com") ? "selected" : ""; ?>>hotmail.com</option>
<option value="yahoo.com" <?php echo ($member['mb_2'] == "yahoo.com") ? "selected" : ""; ?>>yahoo.com</option>
<option value="empas.com" <?php echo ($member['mb_2'] == "empas.com") ? "selected" : ""; ?>>empas.com</option>
<option value="korea.com" <?php echo ($member['mb_2'] == "korea.com") ? "selected" : ""; ?>>korea.com</option>
<option value="dreamwiz.com" <?php echo ($member['mb_2'] == "dreamwiz.com") ? "selected" : ""; ?>>dreamwiz.com</option>
<option value="gmail.com" <?php echo ($member['mb_2'] == "gmail.com") ? "selected" : ""; ?>>gmail.com</option>
<option value="etc">직접 입력</option>
</select>
register_form.skin.php 페이지 내에 폼구조를 저렇게 해놓았습니다.
ajax.mb_email.php 페이지 내에 mb_email을 체크하고 경고창 띄우는 부분은 주석처리 해놓았습니다.
// if ($msg = empty_mb_email($mb_email)) die($msg);
// if ($msg = valid_mb_email($mb_email)) die($msg);
// if ($msg = prohibit_mb_email($mb_email)) die($msg);
// if ($msg = exist_mb_email($mb_email, $mb_id)) die($msg);
저 상태에서 회원가입 양식 작성 후 회원가입하려하면 " E-mail 주소를 입력해 주십시오. " 경고창이 뜨고 약관동의 후 회원가입하라는 경고창이 뜨면서 약관동의 체크페이지로 넘어가버립니다...;;
저번에도 회원가입시 이메일을 아이디와 도메인부분을 분류하는 방법에 대해 문의남긴적이 있는데
생각해보니 여분필드를 활용하면 될것같아서 여분필드로 도메인부분을 select값으로 넘겨받으려 하는데
가입조차 안되고있으니... 어찌해야할지 막막해서 문의 남겨봅니다ㅠㅠㅠ
!-->!-->답변 1
여분필드를 쓰실 필요 없이 mb_email에서 @를 기준으로 쪼개면 될것 같은데요..
explode 라는 함수를 쓰면 string을 기준으로 쪼갤수 있습니다.
여분필드를 사용하시면,
mb_email에 있는 값이랑 mb_2 에 있는 값이랑 달라서 문제가 발생할 수 있습니다.
여분필드 사용여부와 별개로
이메일 도메인은 모든 케이스에 대해서 if 처리가 가능한 상태가 아니므로
열거하신 9개의 도메인이 아닌 직접 입력한 부분에 대해서도 따로 처리가 필요합니다.
12-21 쪽을 반복문으로 고쳐서, 처리를 하심이 좋아보입니다..