회원가입시 필수입력 항목 추가하기....(아이디나 이메일과 같이 유효성체크 포함) 정보
회원가입시 필수입력 항목 추가하기....(아이디나 이메일과 같이 유효성체크 포함)본문
회원가입시 필수입력 항목 추가하기....(아이디나 이메일과 같이 유효성체크 포함)
검색해봤는데.. 이런 식은 안보여서 올려봅니다.
개요:
잠깐 1시간 정도 보면서 뚝딱뚝딱 만든거라.... .. 뭐.. 동작에는 이상없습니다.
필수입력이라서, 빈칸 체크하게 되어있고,
유효한 값인지 DB에서 확인하게 되어있고
DB체크 후에 값변경시 다시 체크하게도 되어있습니다.
여하튼간에 위의 목적으로 필요해서 가입하는 부분의 그누보드 소스를 보니..........
가입시 입력항목에도 여유필드가있더군요. mb_1 ~ mb_10 까지
그중에 시리얼번호를 입력받아야 할 일이 있어서 mb_1 ~ mb_4 까지 사용했습니다.
가입페이지를 수정하고
/gnuboard4/skin/member/basic/register_form.skin.php 를 수정하였고
유효성체크를 하기 위해서 파일을 하나 만들었습니다.
/gnuboard4/bbs/member_mapserial_check.php ( member_email_check.php 를 수정한겁니다.)
/gnuboard4/skin/member/basic/register_form.skin.php 를 수정한 내용
1. =======================================================================
아래 한줄 추가
<input type=hidden name=mb_email_enabled value="" id="mb_email_enabled">
<input type=hidden name=mb_mapserial_enabled value="" id="mb_mapserial_enabled"> <<== 이거
2. =======================================================================
적당한위치에 아래를 추가
<td width="160" height="28" class=m_title>시리얼번호</td>
<td class=m_padding>
<input name="mb_1" type="text" class=m_text size="4" maxlength="4" itemname='맵시리얼번호' required onchange="fregisterform.mb_mapserial_enabled.value='';">
-
<input name="mb_2" type="text" class=m_text size="4" maxlength="4" itemname='맵시리얼번호' required onchange="fregisterform.mb_mapserial_enabled.value='';">
-
<input name="mb_3" type="text" class=m_text size="4" maxlength="4" itemname='맵시리얼번호' required onchange="fregisterform.mb_mapserial_enabled.value='';">
-
<input name="mb_4" type="text" class=m_text size="4" maxlength="4" itemname='맵시리얼번호' required onchange="fregisterform.mb_mapserial_enabled.value='';">
<a href="javascript:mb_mapserial_check();"><img width="70" height="20" src="<?=$member_skin_path?>/img/join_check_btn.gif" border=0 align=absmiddle></a>
3. =======================================================================
적당한위치에 아래를 추가
이메일체크 다음에체크하게 소스위치를 둠
} else if (f.mb_email_enabled.value == -1) {
alert("'"+f.mb_email.value+"'은(는) 이미 다른 회원이 사용하는 E-mail이므로 사용하실 수 없습니다.");
return;
}
위 부분의 소스를 찾고 아래부분을 추가함.
/* 시리얼 번호 필수 입력 및 확인 체크 하였는지 확인하는 것*/
if ((f.w.value == "" && f.mb_mapserial_enabled.value == "") ||
(f.w.value == "u" && f.mb_mapserial_enabled.value == "" && f.mb_1.defaultValue != f.mb_1.value)) {
alert("시리얼 번호 확인을 해주십시오.");
f.mb_1.focus();
return;
} else if (f.mb_mapserial_enabled.value == -1) {
alert("'"+f.mb_1.value+"'은(는) 유효하지 않습니다. 정확히 입력하셨다면 관리자에게 문의해주세요.");
return;
}
4. =======================================================================
이메일 검사하는 소스 아래에 시리얼 검사하는 소스 추가
이메일 검사 함수 아래에 둠...
// E-mail 검사
function mb_email_check()
{
if (document.fregisterform.mb_email.value == "") {
alert("E-mail을 입력하세요.");
return;
}
if (g4_charset.toUpperCase() == "UTF-8")
win_open(g4_path+"/"+g4_bbs+"/member_email_check.php?mb_email="+encodeURI(document.fregisterform.mb_email.value), "hiddenframe");
else
win_open(g4_path+"/"+g4_bbs+"/member_email_check.php?mb_email="+document.fregisterform.mb_email.value, "hiddenframe");
}
// map serial 검사
function mb_mapserial_check()
{
if (document.fregisterform.mb_1.value == "" || document.fregisterform.mb_2.value == "" || document.fregisterform.mb_3.value == "" || document.fregisterform.mb_4.value == "") {
alert("시리얼번호를 입력하세요.");
return;
}
var map_serial = document.fregisterform.mb_1.value+document.fregisterform.mb_2.value+document.fregisterform.mb_3.value+document.fregisterform.mb_4.value;
if (g4_charset.toUpperCase() == "UTF-8")
win_open(g4_path+"/"+g4_bbs+"/member_mapserial_check.php?mapserial="+encodeURI(map_serial), "hiddenframe");
else
win_open(g4_path+"/"+g4_bbs+"/member_mapserial_check.php?mapserial="+map_serial, "hiddenframe");
}
5. =============================================================================
유효성 체크하는
/gnuboard4/bbs/member_mapserial_check.php 의 전체 소스
<?
include_once("./_common.php");
$g4[title] = " 시리얼 확인";
include_once("$g4[path]/head.sub.php");
/*
프로그램 들어가는 부분... DB를 쿼리해서.. 유효한지 체크한다....
true냐 false냐에 따라서 페이지 세팅값이 달라진다.
*/
$mb = true;
if ($mb)
{
echo "<script language=\"JavaScript\">";
echo "alert(\"".$_GET['mapserial']."은 확인되었습니다. 제품이며, 입니다.\");";
echo "parent.document.getElementById(\"mb_mapserial_enabled\").value = 1;";
echo "window.close();";
echo "</script>";
}
else
{
echo "<script language=\"JavaScript\">";
echo "alert(\"".$_GET['mapserial']."은 불가능한 시리얼 코드 입니다. 다시 입력해주세요.\");";
echo "parent.document.getElementById(\"mb_mapserial_enabled\").value = -1;";
echo "window.close();";
echo "</script>";
}
include_once("$g4[path]/tail.sub.php");
?>
검색해봤는데.. 이런 식은 안보여서 올려봅니다.
개요:
잠깐 1시간 정도 보면서 뚝딱뚝딱 만든거라.... .. 뭐.. 동작에는 이상없습니다.
필수입력이라서, 빈칸 체크하게 되어있고,
유효한 값인지 DB에서 확인하게 되어있고
DB체크 후에 값변경시 다시 체크하게도 되어있습니다.
여하튼간에 위의 목적으로 필요해서 가입하는 부분의 그누보드 소스를 보니..........
가입시 입력항목에도 여유필드가있더군요. mb_1 ~ mb_10 까지
그중에 시리얼번호를 입력받아야 할 일이 있어서 mb_1 ~ mb_4 까지 사용했습니다.
가입페이지를 수정하고
/gnuboard4/skin/member/basic/register_form.skin.php 를 수정하였고
유효성체크를 하기 위해서 파일을 하나 만들었습니다.
/gnuboard4/bbs/member_mapserial_check.php ( member_email_check.php 를 수정한겁니다.)
/gnuboard4/skin/member/basic/register_form.skin.php 를 수정한 내용
1. =======================================================================
아래 한줄 추가
<input type=hidden name=mb_email_enabled value="" id="mb_email_enabled">
<input type=hidden name=mb_mapserial_enabled value="" id="mb_mapserial_enabled"> <<== 이거
2. =======================================================================
적당한위치에 아래를 추가
<td width="160" height="28" class=m_title>시리얼번호</td>
<td class=m_padding>
<input name="mb_1" type="text" class=m_text size="4" maxlength="4" itemname='맵시리얼번호' required onchange="fregisterform.mb_mapserial_enabled.value='';">
-
<input name="mb_2" type="text" class=m_text size="4" maxlength="4" itemname='맵시리얼번호' required onchange="fregisterform.mb_mapserial_enabled.value='';">
-
<input name="mb_3" type="text" class=m_text size="4" maxlength="4" itemname='맵시리얼번호' required onchange="fregisterform.mb_mapserial_enabled.value='';">
-
<input name="mb_4" type="text" class=m_text size="4" maxlength="4" itemname='맵시리얼번호' required onchange="fregisterform.mb_mapserial_enabled.value='';">
<a href="javascript:mb_mapserial_check();"><img width="70" height="20" src="<?=$member_skin_path?>/img/join_check_btn.gif" border=0 align=absmiddle></a>
3. =======================================================================
적당한위치에 아래를 추가
이메일체크 다음에체크하게 소스위치를 둠
} else if (f.mb_email_enabled.value == -1) {
alert("'"+f.mb_email.value+"'은(는) 이미 다른 회원이 사용하는 E-mail이므로 사용하실 수 없습니다.");
return;
}
위 부분의 소스를 찾고 아래부분을 추가함.
/* 시리얼 번호 필수 입력 및 확인 체크 하였는지 확인하는 것*/
if ((f.w.value == "" && f.mb_mapserial_enabled.value == "") ||
(f.w.value == "u" && f.mb_mapserial_enabled.value == "" && f.mb_1.defaultValue != f.mb_1.value)) {
alert("시리얼 번호 확인을 해주십시오.");
f.mb_1.focus();
return;
} else if (f.mb_mapserial_enabled.value == -1) {
alert("'"+f.mb_1.value+"'은(는) 유효하지 않습니다. 정확히 입력하셨다면 관리자에게 문의해주세요.");
return;
}
4. =======================================================================
이메일 검사하는 소스 아래에 시리얼 검사하는 소스 추가
이메일 검사 함수 아래에 둠...
// E-mail 검사
function mb_email_check()
{
if (document.fregisterform.mb_email.value == "") {
alert("E-mail을 입력하세요.");
return;
}
if (g4_charset.toUpperCase() == "UTF-8")
win_open(g4_path+"/"+g4_bbs+"/member_email_check.php?mb_email="+encodeURI(document.fregisterform.mb_email.value), "hiddenframe");
else
win_open(g4_path+"/"+g4_bbs+"/member_email_check.php?mb_email="+document.fregisterform.mb_email.value, "hiddenframe");
}
// map serial 검사
function mb_mapserial_check()
{
if (document.fregisterform.mb_1.value == "" || document.fregisterform.mb_2.value == "" || document.fregisterform.mb_3.value == "" || document.fregisterform.mb_4.value == "") {
alert("시리얼번호를 입력하세요.");
return;
}
var map_serial = document.fregisterform.mb_1.value+document.fregisterform.mb_2.value+document.fregisterform.mb_3.value+document.fregisterform.mb_4.value;
if (g4_charset.toUpperCase() == "UTF-8")
win_open(g4_path+"/"+g4_bbs+"/member_mapserial_check.php?mapserial="+encodeURI(map_serial), "hiddenframe");
else
win_open(g4_path+"/"+g4_bbs+"/member_mapserial_check.php?mapserial="+map_serial, "hiddenframe");
}
5. =============================================================================
유효성 체크하는
/gnuboard4/bbs/member_mapserial_check.php 의 전체 소스
<?
include_once("./_common.php");
$g4[title] = " 시리얼 확인";
include_once("$g4[path]/head.sub.php");
/*
프로그램 들어가는 부분... DB를 쿼리해서.. 유효한지 체크한다....
true냐 false냐에 따라서 페이지 세팅값이 달라진다.
*/
$mb = true;
if ($mb)
{
echo "<script language=\"JavaScript\">";
echo "alert(\"".$_GET['mapserial']."은 확인되었습니다. 제품이며, 입니다.\");";
echo "parent.document.getElementById(\"mb_mapserial_enabled\").value = 1;";
echo "window.close();";
echo "</script>";
}
else
{
echo "<script language=\"JavaScript\">";
echo "alert(\"".$_GET['mapserial']."은 불가능한 시리얼 코드 입니다. 다시 입력해주세요.\");";
echo "parent.document.getElementById(\"mb_mapserial_enabled\").value = -1;";
echo "window.close();";
echo "</script>";
}
include_once("$g4[path]/tail.sub.php");
?>
추천
0
0
댓글 4개
감사합니다. 유용하게 쓰겠습니다.
음..
유용하게 잘쓸것같습니다.
감사합니다.ㅎㅎ
감사합니다.ㅎㅎ
감사합니다.