회원가입 필드 추가

회원가입 필드 추가

QA

회원가입 필드 추가

답변 1

본문

14ee3df9d03e1421a8d6f0b4feaf81e9_1443610656_5735.png
사진속에 추가정보에

나이와 성별을 추가 해서 넣었는데요 이걸 추가한 뒤로 모든 칸에 정보를 기입한뒤 회원가입 버튼을 누르면 메인페이지로 이동만 하고 회원가입이 되질 않아요. 그니까 회원에 관한 테이블에 아무것도 저장되지 않습니다. 

 

 

register_form.skin.php의 일부 

 <div class="tbl_frm01 tbl_wrap">
        <table>
          <caption>추가정보</caption>
          <tbody>
            <tr>
              <th scope="row">
                <label for="mb_birth">
                  나이<strong class="sound_only">필수</strong>
                </label>
              </th>
              <td>
                
                <span class="frm_info">나이를 입력하세요</span>
                
                <input type="text" id="mb_birth" name="mb_birth" value=""<?php echo $member['mb_birth'] ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input <?php echo $required ?> <?php echo $readonly ?>" size="10">
               
                <?php  ?>
              </td>
            </tr>
            
            <tr>
              <th scope="row">
                <label for="mb_sex">
                  성별<strong class="sound_only">필수</strong>
                </label>
              </th>
              <td>
 
 
                <select name='mb_sex' id="mb_sex" >
                  <option value=""<?php echo $member['mb_sex'] ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input <?php echo $required ?> <?php echo $readonly ?>" >남</option>
                  <option value=""<?php echo $member['mb_sex'] ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input <?php echo $required ?> <?php echo $readonly ?>" >여</option>​​
                </select>
                  <span id="mb_sex"></span>
              </td>
            </tr>
            
            <?php if ($config['cf_use_profile']) {  ?>
            <tr>
              <th scope="row">
                <label for="reg_mb_profile">자기소개</label>
              </th>
              <td>
                <textarea name="mb_profile" id="reg_mb_profile"
                  <?php echo $config['cf_req_profile']?"required":""; ?> class="<?php echo $config['cf_req_profile']?"required":""; ?>"><?php echo $member['mb_profile'] ?>
                </textarea>
              </td>
            </tr>
            <?php }  ?>
            
          </tbody>
        </table>
      </div>

 

테이블속에 이미 지정되어있는 mb_birth와 mb_sex에 값을 저장하려고 하는데 나이와 성별 이 두개 항목의 input태그와 select 태그는 제가 작성했는데 사실 그속에 끄적거려놓은 것들은 그 명령어들을 그냥 추측해서만 적어놓았지 정확하게 어떤 식으로 실행해주는지 잘 모릅니다. 일단 db에 접속해서 테이블에 값들을 insert하는것은 아마 register_form_update.php 과  common.php에 설정되어있고 정의되어있는걸로 알고 있는데 뭐가 잘못된건지 잘모르겠네요. 그리고 만약에 본인인증 서비스를 사용하면 인증을 한 사용자의 나이를 db에 저장을 하나요? 만약 되면 어디에 저장이 되나요? 

이 질문에 댓글 쓰기 :

답변 1

mb_birth 는 생년월일을 입력하는 필드이며,

회원인증을 할 때에도 사용되는 필드이므로 '나이'를 입력받는 용도로 사용하지 않는 것이 바람직합니다.

'나이'를 별도로 입력받고 싶으시면 확장필드 mb_1을 이용하시는 것을 권해드립니다.


<th scope="row"><label for="mb_1">나이<strong class="sound_only">필수</strong></label></th>
<td>
<span class="frm_info">나이를 입력하세요</span>
<input type="text" id="mb_1" name="mb_1" value="<?php echo $member['mb_1'] ?>" <?php echo $required ?> class="frm_input <?php echo $required ?>" size="8">
</td>

 

그리고 성별을 선택하는 폼도 내용이 잘못되어 있습니다.

다음과 같이 수정해보세요.


<select name="mb_sex" id="mb_sex" <?php echo $required;?>>
   <option value="m"<?php echo get_selected($member['mb_sex'], "m");?>>남</option>
   <option value="f"<?php echo get_selected($member['mb_sex'], "f");?>>여</option>​​
</select>
 

먼저 답변 정말 감사드립니다. 나이를 입력하는 필드는 정말 잘 작동합니다만 성별은 문제가 있는지 테이블내에 값이 저장되질 않아서 mb_2에 저장하는 것으로 해보니 잘되네요. mb_sex와 mb_2의 차이는 데이터 방식이 각각 varchar와 char 이던데 그것 때문일까요? 왜 mb_sex에는 값이 저장되지 않는지도 궁금하네요.

답변을 작성하시기 전에 로그인 해주세요.
전체 4
© SIRSOFT
현재 페이지 제일 처음으로