[G5] 동창회 (동문회) 주소록 연동 회원관리 > 기술자료

본문 바로가기
사이트 내 전체검색

기술자료

그누보드 [G5] 동창회 (동문회) 주소록 연동 회원관리

페이지 정보

댓글 0건 조회 1,290회 작성일 2018-01-16 22:29 ~ 2018-01-17 12:50

본문

동창회 (동문회) 주소록 연동 회원관리하는 기능입니다.
디비 테이블 설계 내용은 본 강의에 필요한 내용만 적어놨습니다.
각자 상황에 맞도록 설계해서 사용하세요


1. 그누보드5 / data / dbconfig.php   
동창명부 DB 테이블에 사용될 변수 추가

$g5['people_table']      = G5_TABLE_PREFIX.'people'; // 동창명부 테이블
$g5['people_report_table']      = G5_TABLE_PREFIX.'people_report'; // 변경사항 테이블



2. 동창회원 명부 DB 테이블 만들기
idx - 고유번호
email
name


3. 그누보드5 / skin / member / basic / register_form.skin.php   
회원가입 신청에 동창인증 등 기능 추가하기

    <div class="tbl_frm01 tbl_wrap">
        <table>
        <caption>동창인증</caption>
        <tbody>
        <tr>
            <th scope="row"><label for="reg_alumni">동창인증<strong class="sound_only">필수</strong></label></th>
            <td>
                <div style="padding:5px 0;"><a href="#" onclick="open_mbid('<?php echo G5_URL; ?>/page/alumni_win.php', this);" class="btn_submit" style="color:#FFF;">동창인증</a>을 눌러서 동창인증을 하셔야 회원가입이 가능합니다.</div>
                <script>
                function open_mbid(url, field) {
                    var opt = "toolbar=no, resizable=yes, scrollbars=yes, location=no, resize=no,menubar=no, directories=no, copyhistory=0, width=700, height=300, top= 330, left = 370";  
                    window.name = "ori_window";
                    window.open(url, 'new_window', opt);
                }
                </script>
            </td>
        </tr>
        <tr>
            <th scope="row"><label for="reg_year">졸업년도<strong class="sound_only">필수</strong></label></th>
            <td><input type="text" name="mb_10" id="reg_year" value="<?php echo $member['mb_10'] ?>" required class="frm_input required" style="border:0;" readonly></td>
        </tr>
        <tr>
            <th scope="row"><label for="reg_name">이름<strong class="sound_only">필수</strong></label></th>
            <td><input type="text" name="mb_name" id="reg_mb_name" value="<?php echo $member['mb_name'] ?>" <?php echo $required ?> class="frm_input required" style="border:0;" readonly></td>
        </tr>
        </tbody>
        </table>
        <input type="hidden" name="mb_1" value="<?php echo $member['mb_1'] ?>">
        <div style="margin:10px 0 0 0;">※ 동창명부에 등록된 정보는 회원가입후 확인 및 변경이 가능합니다.</div>
    </div>


4. 그누보드5 / page / alumni_win.php
동창인증 새창내용
<?php
include_once('_common.php');

$g5['title'] = "동창인증";

include_once G5_THEME_PATH."/head_sub.php";
$dbconn = mysqli_connect(G5_MYSQL_HOST,G5_MYSQL_USER,G5_MYSQL_PASSWORD,G5_MYSQL_DB);

$sql = "select * from ".$g5['people_table']." where name='".$_POST['name']."' and syear='".$_POST['syear']."' order by syear asc ";
$result = mysqli_query($dbconn,$sql);
$data = mysqli_fetch_array($result);

if (!mysqli_query($dbconn, $sql)) {  // sql 쿼리 오류여부 확인
    printf("<div>sql_queryErrormessage: %s\n</div>", mysqli_error($dbconn));
}

$TDStyle = " style='border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid'" ;
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>회원아이디 검색</title>
<script>
function GoSearch() {
    fom = document.forms[0];
    if ( document.InSearch.syear.value == ""  ) {
        alert("졸업년도를 입력하세요!");
        fom.syear.focus();
        return;
    }
    if (document.InSearch.syear.value.length <= 3) {
        alert("졸업년도는 4자리입니다");
        fom.syear.focus();
        return;
    }
    if ( document.InSearch.name.value == ""  ) {
        alert("이름을 입력하세요!");
        fom.name.focus();
        return;
    }
    document.InSearch.submit();
}
</script>

<style>
* {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
a{text-decoration:none;}
th, td { font-size:12px; height:30px; }
.text { font-size: 12px; text-align:center; width:100%; margin:15px 0; }
.input_box { border:1px solid #999; margin:3px 0; height:25px; width:200px; }
.submit { width:100px; height:55px; }

.btn {font-size: 18px; white-space:nowrap; width:100%; padding:.8em 1.5em; font-family: Open Sans, Helvetica,Arial,sans-serif; line-height:18px; display: inline-block;zoom: 1; color: #fff; text-align: center; position:relative; -webkit-transition: border .25s linear, color .25s linear, background-color .25s linear; transition: border .25s linear, color .25s linear, background-color .25s linear;}

.btn.btn-sea{background-color: #08bc9a; border-color: #08bc9a; -webkit-box-shadow: 0 0px 0 #088d74; box-shadow: 0 0px 0 #088d74;}
.btn.btn-sea:hover{background-color:#01a183;}
.btn.btn-sea:active{ top: 3px; outline: none; -webkit-box-shadow: none; box-shadow: none;}

.btn.btn-dark-blue{background-color: #237fbc; border-color: #237fbc; -webkit-box-shadow: 0 0px 0 #1a5c87; box-shadow: 0 0px 0 #1a5c87;}
.btn.btn-dark-blue:hover{background-color:#166ea8;}
.btn.btn-dark-blue:active{ top: 3px; outline: none; -webkit-box-shadow: none; box-shadow: none;}
</style>
</head>
 
<body>
<?php if($syear=="" || $name=="") { ?>
    <br>
    <center>
    <form name="InSearch" method="post">
    <table border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <th style="padding-right:10px;">졸업년도</th>
            <td><input type="text" name="syear" class="input_box" value="<?php echo $syear; ?>"></td>
            <td rowspan="2" style="padding-left:10px;"><input type="submit" class="submit btn btn-sea" value="검색" onclick="GoSearch();"></td>
        </tr>
        <tr>
            <th style="padding-right:10px;">이름</th>
            <td><input type="text" name="name" class="input_box" value="<?php echo $member['mb_name']; ?>"></td>
        </tr>
    </table>
    </form>
    </center>
    <div class="text">검색창에서 졸업년도를 입력후 검색을 하면 동창명부에서 정회원 등업여부를 알려드립니다.</div>
    <script>
        fom = document.forms[0];
        fom.syear.focus();
    </script>
    
    <div style="text-align:center;"><input type="submit" value="창닫기" onclick="self.close();" class="btn btn-dark-blue"></div>
<?php 
} elseif ($data['name']) { 
?>
    <script>
    function LogConfirm(search1,search2,search3){
        opener.document.fregisterform.mb_1.value=search1;
        opener.document.fregisterform.mb_10.value=search2;
        opener.document.fregisterform.mb_name.value=search3;
        parent.window.close();
    }
    </script>
    <div class="text">■ 검색 결과에서 선택해주세요 ■ </div>
    <table border="1" style="border-collapse: collapse; width:100%;">
        <tr> 
            <th>비고</th>
            <th>졸업년도</th>
            <th>이름</th>
        </tr>           
        <?php
        $result2 = mysqli_query($dbconn,$sql);
        while($data2 = mysqli_fetch_array($result2)) {
        ?>
        <tr onmouseover="this.style.backgroundcolor='#efefef'" onmouseout="this.style.backgroundcolor='#ffffff'"> 
            <td align="center"<?php echo $TDStyle;?>>
            <?php if ($data2['mb_id']) { ?>
            동창회원 인증
            <?php } else { ?>
            <a href="#" onclick="javascript:LogConfirm('<?php echo $data2['idx'];?>','<?php echo $data2['syear'];?>','<?php echo $data2['name']; ?>')">선택</a>
            <?php } ?>
            </td>
            <td align="center"<?php echo $TDStyle;?>><?php echo $data2['syear']; ?></td>
            <td align="center"<?php echo $TDStyle;?>><?php echo $data2['name']; ?></td>
        </tr>           
        <?php
        }
        ?>
    </table>
    <div class="text">
        ※ 비고에 <span style="font-weight:bold;">동창회원 인증</span>인 경우는 동창회원으로 회원가입된 상태이므로 선택 불가능합니다.<br>
        문의사항은 홈페이지 <span style="font-weight:bold;">동문광장 &gt; 관리자에게 문의</span>로 글을 남기시면 확인후 답변드리겠습니다.
    </div>
    
    <div style="text-align:center; margin-top:15px;">
    <form action="<?php echo $PHP_SELF; ?>">
        <input type="submit" value="다시검색" class="btn btn-sea">
    </form>
    </div>
<?php
} else {
?>
    <script type="text/javascript">
        fom = document.forms[0];
        fom.syear.focus();
    </script>
    <br>
    <center>
    <form name="InSearch" method="post">
    <table border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <th style="padding-right:10px;">졸업년도</th>
            <td><input type="text" name="syear" class="input_box" value="<?php echo $syear; ?>"></td>
            <td rowspan="2" style="padding-left:10px;"><input type="submit" class="submit btn btn-sea" value="검색" onclick="GoSearch();"></td>
        </tr>
        <tr>
            <th style="padding-right:10px;">이름</th>
            <td><input type="text" name="name" class="input_box" value="<?php echo $member['mb_name']; ?>" readonly></td>
        </tr>
    </table>
    </form>
    </center>
    <div class="text">검색결과가 없습니다. 정보를 다시 입력해주세요</div>
    <div style="text-align:center;"><input type="submit" value="창닫기" onclick="self.close();" class="btn btn-dark-blue"></div>
<?php
}
?>
</body>
</html>



5. 그누보드5 / bbs / register_form_update.php
회원DB에 졸업년도, 닉네임 등 제어하기

5-1. 졸업년도 체크

else if($w == '')
    $mb_id = trim($_POST['mb_id']);
 else

를 아래와 같이 변경

else if($w == '') {
    $mb_id = trim($_POST['mb_id']); 
    $mb_10 = trim($_POST['mb_10']); // 졸업년도
    if(!$mb_10) { alert('동창인증 정보가 없습니다. 올바른 방법으로 이용해 주십시오.'); }
} else



5-2. 닉네임 변경하기

$mb_nick        = trim($_POST['mb_nick']);

를 아래와 같이 변경

if ($w == '') { $mb_nick = $mb_name.time(); } else { $mb_nick = trim($_POST['mb_nick']); } // 닉네임 변경하기(2018-01-16 해피정닷컴)



5-3. 닉네임없이 회원가입하기

        if (get_session('ss_check_mb_id') != $mb_id || get_session('ss_check_mb_nick') != $mb_nick || get_session('ss_check_mb_email') != $mb_email) {
            set_session('ss_check_mb_id', '');
            set_session('ss_check_mb_nick', '');

를 아래와 같이 변경

        if (get_session('ss_check_mb_id') != $mb_id || get_session('ss_check_mb_email') != $mb_email) { // 닉네임 입력없이 가입하기 (2017-05-29 해피정닷컴)
            set_session('ss_check_mb_id', '');
            //set_session('ss_check_mb_nick', '');



5-4. 동창회원 디비에 이메일 및 아이디 업데이트

if ($w == '') {
    $sql = " insert into {$g5['member_table']}

를 아래와 같이 변경

if ($w == '') {
    if ($mb_1) {
        $sql_alumni = " update {$g5['people_table']} set email='{$mb_email}', mb_id='{$mb_id}' where idx='{$mb_1}' ";
        sql_query($sql_alumni);
    }
    $sql = " insert into {$g5['member_table']}



6. 그누보드5 / adm / member_list.php
관리자 회원관리에서 동창명부 정보 자세히 보기 버튼 추가

        <td headers="mb_list_name" class="td_mbname"><?php echo get_text($row['mb_name']); ?></td

를 아래와 같이 변경

        <td headers="mb_list_name" class="td_mbname"><?php 
        echo get_text($row['mb_name']); 
        if ($row['mb_1']) {
            $sql_alumni = "select * from {$g5['people_table']} where idx='{$row['mb_1']}' ";
            $result_alumni = sql_query($sql_alumni);
            $data_alumni = sql_fetch_array($result_alumni);
            echo " &nbsp;<a href='".G5_URL."/page/alumni_view.php?idx={$data_alumni['idx']}' target='_blank' style='font-size:11px; color:#4ca634'>VIEW</a>";
        }
        ?></td>



7. 그누보드5 / adm / member_form.php
관리자 회원 상세정보에서 졸업년도와 동창명부 고유번호 보이기

    <?php for ($i=1; $i<=10; $i++) { ?>
    <tr>
        <th scope="row"><label for="mb_<?php echo $i ?>">여분 필드 <?php echo $i ?></label></th>
        <td colspan="3"><input type="text" name="mb_<?php echo $i ?>" value="<?php echo $mb['mb_'.$i] ?>" id="mb_<?php echo $i ?>" class="frm_input" size="30" maxlength="255"></td>
    </tr>
    <?php } ?>

를 아래와 같이 변경

    <?php /*for ($i=1; $i<=10; $i++) { ?>
    <tr>
        <th scope="row"><label for="mb_<?php echo $i ?>">여분 필드 <?php echo $i ?></label></th>
        <td colspan="3"><input type="text" name="mb_<?php echo $i ?>" value="<?php echo $mb['mb_'.$i] ?>" id="mb_<?php echo $i ?>" class="frm_input" size="30" maxlength="255"></td>
    </tr>
    <?php }*/ ?>
    <tr>
        <th scope="row"><label for="mb_1">동창명부 고유번호</label></th>
        <td colspan="3"><input type="text" name="mb_1" value="<?php echo $mb['mb_1'] ?>" id="mb_1" class="frm_input" size="30" maxlength="255"></td>
    </tr>
    <tr>
        <th scope="row"><label for="mb_9">학번</label></th>
        <td colspan="3"><input type="text" name="mb_9" value="<?php echo $mb['mb_9'] ?>" id="mb_9" class="frm_input" size="30" maxlength="255"></td>
    </tr>
    <tr>
        <th scope="row"><label for="mb_10">졸업년도</label></th>
        <td colspan="3"><input type="text" name="mb_10" value="<?php echo $mb['mb_10'] ?>" id="mb_10" class="frm_input" size="30" maxlength="255"></td>
    </tr>
 
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.


Total 2,275건 1 페이지
기술자료 목록
번호 제목
공지 일반   16266  2001-08-31 11:52 ~ 2017-12-05 16:33  
2274 그누보드   41  2018-09-15 08:08  
2273 PHP   63  2018-09-14 05:59  
2272 전자결제   45  2018-09-14 04:57 ~ 2018-09-14 04:58  
2271 전자결제   71  2018-09-12 14:17 ~ 2018-09-13 14:38  
2270 일반   152  2018-08-31 18:10 ~ 2018-09-14 20:50  
2269 HTML   135  2018-08-30 15:47  
2268 그누보드   162  2018-08-30 10:41 ~ 2018-08-30 10:48  
2267 PHP   136  2018-08-29 03:21 ~ 2018-08-29 17:13  
2266 JavaScript   178  2018-08-28 18:49  
2265 HTML   182  2018-08-27 14:33  
2264 HTML   243  2018-08-26 14:07  
2263 일반   155  2018-08-22 13:17  
2262 PHP   158  2018-08-20 15:51  
2261 HTML   164  2018-08-18 05:37  
2260 일반   173  2018-08-17 15:18 ~ 2018-08-17 15:19  
2259 HTML   263  2018-08-17 06:39  
2258 HTML   232  2018-08-15 05:06 ~ 2018-08-15 05:58  
2257 HTML   114  2018-08-13 18:50  
2256 HTML   187  2018-08-09 10:12 ~ 2018-08-09 13:26  
게시물 검색

회원로그인

계좌이체 or 신용카드 결제하기
해피정닷컴으로 대금결제를 할 수 있습니다

접속자집계

오늘
1,374
어제
2,605
최대
3,174
전체
4,264,439

회사명: 해피정닷컴   사업자번호: 119-05-36414   전화: 070-7600-3500   팩스: 02-865-3528   주소: 08394 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
대표: 정창용   개인정보보호책임자: 정창용   통신판매업신고번호: 2014-서울구로-0074 [사업자등록정보확인]   건강기능식품영업신고번호 제2018-0080452호
Copyright 2001~2018 해피정닷컴. All Rights Reserved.