회원정보 추가로 회원권한 자동설정 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

회원정보 추가로 회원권한 자동설정 정보

회원정보 추가로 회원권한 자동설정

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

<select name='mb_1'  onChange="setStudent(this.value)">
<option value='2' >일반 (2)</option>
<option value='3' >학생 (3)</option>
<option value='4' >학부모 (4)</option>
<option value='5' >교직원 (5)</option>
</select>

위와 같이 여분필드 mb_1 을 이용하여 회원가입을 받으려합니다..

그런데 위와 같이 하여
일반회원으로 가입하면 2등급회원
학생회원으로 가입하면 3등급회원
학부모회원으로 가입하면 4등급회원
교직원으로가입하면 5등급회원으로 자동 회원등급이 주어지도록 하려면 어찌하면 되나요

댓글 전체

좋은 아이디어네요..

onChange를 쓰신걸보면 각 분류마다 가입폼이 달라지는가 봅니다.
학생, 학부모, 교직원 이런건 어떻게 체크하는지 궁금해지네요?

일단 아래처럼 단순히 해보니까 잘됩니다.

register_form.skin.php

<input type=hidden name="mb_level" value="<?=$member[mb_1]?>">
<select name='mb_1'>
<option value='2' >일반 (2)</option>
<option value='3' >학생 (3)</option>
<option value='4' >학부모 (4)</option>
<option value='5' >교직원 (5)</option>
</select>


register_update.skin.php

$sql = " update $g4[member_table] set mb_level = '$_POST[mb_1]' where mb_id = '$_POST[mb_id]' ";
sql_query($sql);
답변감사합니다...

학생인지,학부모인지,학생인지는 사실 체크하기가 곤란하고..형식상 구분을 해놓은면 거짓으로 분류를 선택하는 사람도 있겠지만 대부분은 진실(?)일 듯하고....  onChange 는 학생이면 학년반을 넣기 위해 이용했습니다...
그러시군요.
지금보니까 원본을 수정하지 않는한 bbs/register_form_update.php 에서 넘어온 $member[mb_level]필드값을 재차 업데이트하는거니까 따로 $member[mb_1]을 사용할 필요가 없을듯 합니다.
그냥 $member[mb_level] 필드를 써도 무방하네요.

<input type=hidden name="mb_level" value="<?=$member[mb_level]?>">
<select name='mb_level'>
~~

$sql = " update $g4[member_table] set mb_level = '$_POST[mb_level]' where mb_id = '$_POST[mb_id]' ";
sql_query($sql);
감사합니다..그런데 onChange  안먹히네요...관리자페이지에서 각각 학생인지 학부모인지..

등등이 필요하거든요..

그래서 mb_1 에서는 구분을 넣었고요
아래내용입니다....
  <td class=ct>회원 구분</td>
    <td>
<div style="float:left; ">&nbsp;

<select name='mb_1' onChange="setStudent(this.value)">
<option value='2' >일반 (2)</option>
<option value='3' >학생 (3)</option>
<option value='4' >학부모 (4)</option>
<option value='5' >교직원 (5)</option>
</select>
</div>
</td></tr>

<tr>
    <td class=ct>학년 / 반 / 번호</td>
    <td>
<div style="float:left; ">&nbsp;
<input type=text class=is name='mb_2'  value="<?=$member[mb_2]?>" size="2" maxlength="1" numeric itemname='학년' value=""> 학년 &nbsp;
<input type=text class=is name='mb_3' value="<?=$member[mb_3]?>"size="2" maxlength="2" numeric itemname='반' value=""> 반 &nbsp;
<input type=text class=is name='mb_4' value="<?=$member[mb_4]?>"size="2" maxlength="2" numeric itemname='번호' value=""> 번</div>
</td>
</tr>
##############################################################################
 <script language="JavaScript">
function setStudent (value)
{
if (value == '3')
{
document.fregisterform.mb_2.setAttribute('required', 1);
document.fregisterform.mb_3.setAttribute('required', 1);
document.fregisterform.mb_4.setAttribute('required', 1);

document.fregisterform.mb_2.disabled = false;
document.fregisterform.mb_3.disabled = false;
document.fregisterform.mb_4.disabled = false;

document.fregisterform.mb_2.style.background = "#FFFFFF";
document.fregisterform.mb_3.style.background = "#FFFFFF";
document.fregisterform.mb_4.style.background = "#FFFFFF";
}
else
{
document.fregisterform.mb_2.removeAttribute('required');
document.fregisterform.mb_3.removeAttribute('required');
document.fregisterform.mb_4.removeAttribute('required');

document.fregisterform.mb_2.disabled = true;
document.fregisterform.mb_3.disabled = true;
document.fregisterform.mb_4.disabled = true;

document.fregisterform.mb_2.style.background = "#EEEEEE";
document.fregisterform.mb_3.style.background = "#EEEEEE";
document.fregisterform.mb_4.style.background = "#EEEEEE";
}
}

setStudent();

</script>
이렇게 하면 학생을 선택할때만 학년 반 번호 입력부분이 나타나게됩니다.
학생이 아니면 입력부를 가리고 필수입력을 해제하는 방식입니다.

<input type=hidden name="mb_level" value="<?=$member[mb_level]?>">
<select name='mb_level' onChange="setStudent(this.value)">
<option value='2' >일반회원</option>
<option value='3' >학생회원</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" class=ct>

  <div  id="tmp" style="display:none;">
    <table>
      <tr>
        <td class=ct>학년 / 반 / 번호</td>
      <td>
        <input type=text class=is name='mb_2'  value="<?=$member[mb_2]?>" size="2" maxlength="1" numeric itemname='학년' value=""> 학년 &nbsp;
        <input type=text class=is name='mb_3' value="<?=$member[mb_3]?>"size="2" maxlength="2" numeric itemname='반' value=""> 반 &nbsp;
        <input type=text class=is name='mb_4' value="<?=$member[mb_4]?>"size="2" maxlength="2" numeric itemname='번호' value=""> 번
      </td>
      </tr>
    </table>
  </div>

</td>

<script type="text/javascript">
function setStudent (value)
{
  if (value == '3')
  {
    document.getElementById('tmp').style.display = "block";
    document.fregisterform.mb_2.setAttribute('required', 1);
    document.fregisterform.mb_3.setAttribute('required', 1);
    document.fregisterform.mb_4.setAttribute('required', 1);
  }
  else
  {
    document.getElementById('tmp').style.display = "none";
    document.fregisterform.mb_2.removeAttribute('required');
    document.fregisterform.mb_3.removeAttribute('required');
    document.fregisterform.mb_4.removeAttribute('required');
  }
}
setStudent();
</script>
감사합니다...더욱 깔끔하게 해결해 주시었네요..

그런데...직장에서 회원가입 작성후 제일 아래...숫자를 넣는 부분에 숫자이미지가 안떠서..회원가입 테스트를 하지 못하고 있습니다..

g430 버젼인데....집에서는 잘되는 것 같았는데..
아닙니다. 저도 하나 배운걸요..

저도 최신 utf-8 버전으로 뭘하나 해보는데요.. 몇가지 문제가 있어보입니다.
이번 버전에서 자동등록 방지기능 중에 게시판쪽은 모두 주석처리 해두었더라구요.
조만간 업데이트가 있을것 같아 천천히 지켜보고 있는중입니다.

난수 이미지가 안보이는 부분은 아마 사용하는 브라우저 문제일듯 한데..
아무튼 좀전에 구글크롬으로 보고왔는데 아주 잘 보입니다.^^
크롬 가볍고 빠르니까 한번 설치해서 비교해보세요.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT