회원정보 추가로 회원권한 자동설정 정보
회원정보 추가로 회원권한 자동설정본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
<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등급회원으로 자동 회원등급이 주어지도록 하려면 어찌하면 되나요
오류 주소 :
<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를 쓰신걸보면 각 분류마다 가입폼이 달라지는가 봅니다.
학생, 학부모, 교직원 이런건 어떻게 체크하는지 궁금해지네요?
일단 아래처럼 단순히 해보니까 잘됩니다.
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 는 학생이면 학년반을 넣기 위해 이용했습니다...
학생인지,학부모인지,학생인지는 사실 체크하기가 곤란하고..형식상 구분을 해놓은면 거짓으로 분류를 선택하는 사람도 있겠지만 대부분은 진실(?)일 듯하고.... 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);
지금보니까 원본을 수정하지 않는한 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 에서는 구분을 넣었고요
등등이 필요하거든요..
그래서 mb_1 에서는 구분을 넣었고요
스크립트에서 setStudent() 펑션 부분을 볼수 있을까요?
아래내용입니다....
<td class=ct>회원 구분</td>
<td>
<div style="float:left; ">
<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; ">
<input type=text class=is name='mb_2' value="<?=$member[mb_2]?>" size="2" maxlength="1" numeric itemname='학년' value=""> 학년
<input type=text class=is name='mb_3' value="<?=$member[mb_3]?>"size="2" maxlength="2" numeric itemname='반' value=""> 반
<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>
<td class=ct>회원 구분</td>
<td>
<div style="float:left; ">
<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; ">
<input type=text class=is name='mb_2' value="<?=$member[mb_2]?>" size="2" maxlength="1" numeric itemname='학년' value=""> 학년
<input type=text class=is name='mb_3' value="<?=$member[mb_3]?>"size="2" maxlength="2" numeric itemname='반' value=""> 반
<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=""> 학년
<input type=text class=is name='mb_3' value="<?=$member[mb_3]?>"size="2" maxlength="2" numeric itemname='반' value=""> 반
<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>
학생이 아니면 입력부를 가리고 필수입력을 해제하는 방식입니다.
<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=""> 학년
<input type=text class=is name='mb_3' value="<?=$member[mb_3]?>"size="2" maxlength="2" numeric itemname='반' value=""> 반
<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 버젼인데....집에서는 잘되는 것 같았는데..
그런데...직장에서 회원가입 작성후 제일 아래...숫자를 넣는 부분에 숫자이미지가 안떠서..회원가입 테스트를 하지 못하고 있습니다..
g430 버젼인데....집에서는 잘되는 것 같았는데..
아닙니다. 저도 하나 배운걸요..
저도 최신 utf-8 버전으로 뭘하나 해보는데요.. 몇가지 문제가 있어보입니다.
이번 버전에서 자동등록 방지기능 중에 게시판쪽은 모두 주석처리 해두었더라구요.
조만간 업데이트가 있을것 같아 천천히 지켜보고 있는중입니다.
난수 이미지가 안보이는 부분은 아마 사용하는 브라우저 문제일듯 한데..
아무튼 좀전에 구글크롬으로 보고왔는데 아주 잘 보입니다.^^
크롬 가볍고 빠르니까 한번 설치해서 비교해보세요.
저도 최신 utf-8 버전으로 뭘하나 해보는데요.. 몇가지 문제가 있어보입니다.
이번 버전에서 자동등록 방지기능 중에 게시판쪽은 모두 주석처리 해두었더라구요.
조만간 업데이트가 있을것 같아 천천히 지켜보고 있는중입니다.
난수 이미지가 안보이는 부분은 아마 사용하는 브라우저 문제일듯 한데..
아무튼 좀전에 구글크롬으로 보고왔는데 아주 잘 보입니다.^^
크롬 가볍고 빠르니까 한번 설치해서 비교해보세요.
감사합니다...잘 작동합니다....
register_form.skin.php 을 다시 다운받아 하니 잘되네요..거듭감사합니다
register_form.skin.php 을 다시 다운받아 하니 잘되네요..거듭감사합니다