그룹접근 사용할때, 회원이 접근신청을 하면 자동으로 접근회원이 되게 하는 방법 좀 알려 주세요. > 그누4 질문답변

그누4 질문답변

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

그룹접근 사용할때, 회원이 접근신청을 하면 자동으로 접근회원이 되게 하는 방법 좀 알려 주세요. 정보

그룹접근 사용할때, 회원이 접근신청을 하면 자동으로 접근회원이 되게 하는 방법 좀 알려 주세요.

본문

특정 게시판등의 접근을 제한할때, 그룹접근사용을 하지 않습니까?
 
그런데 새로운 게시판을 만들었는데, 기존 회원들중 특정회원들만
 
접근가능 하게 하고 싶습니다.
 
그런데 그런 회원이 몇천명을 넘어가면...이거 장난이 아니겠죠?
 
그리고 특정 회원들중 당연히 새롭게 만들어진 접근 그룹에 가입하고 싶지 않은 회원들도 많을거 아닙니가?
 
그래서 결론은
 
기존 회원들이 특정그룹 접근 신청 페이지를 만들고 싶습니다.
 
그냥 신청 버튼만 누르면 가입되게 말입니다.(물론 거기에 탈퇴까지 가능하다면 더 좋겠지만..)
 

댓글 전체

그룹리스트에서 접근기능을 사용중인 리스트를 가져온후 회원이 직접 선택하여 접근등록과 접근탈퇴 하도록
간단하게 만들어 봤습니다. 참고로 테스트는 못해 봤습니다.^^

<form name=groupform method=post action=''>
        <select name=gr_id>
        <option value=''>그룹을 선택하세요.
        <?
        $sql = " select *
                  from $g4[group_table]
                  where gr_use_access = 1 ";
        if ($is_admin != 'super')
            $sql .= " and gr_admin = '$member[mb_id]' ";
        $sql .= " order by gr_id ";
        $result = sql_query($sql);
        for ($i=0; $row=sql_fetch_array($result); $i++) {
            echo "<option value='$row[gr_id]'>$row[gr_subject]";           
        }
        ?>
        </select>
        &nbsp;
        <select name=w>
        <option value='sss'>선택하세요.
        <option value='ok'>등록하기
        <option value='del'>탈퇴하기
        </select>
        <input type=submit  value='  확  인  ' accesskey='s'>

</form>


<?
if ($w == "ok")
{
    $gr = get_group($gr_id);
    if (!$gr[gr_id]) {
        alert("존재하지 않는 그룹입니다.");
    }

    $sql = " select count(*) as cnt
              from $g4[group_member_table]
              where gr_id = '$gr_id'
                and mb_id = '$member[mb_id]' ";
    $row = sql_fetch($sql);
    if ($row[cnt]) {
        alert("이미 등록되어 있습니다.");
    }
    else
    {
        $sql = " insert into $g4[group_member_table]
                    set gr_id = '$gr_id',
                        mb_id = '$member[mb_id]',
                        gm_datetime = '$g4[time_ymdhis]' ";
        sql_query($sql);
    }
}
else if ($w == 'del')
{
    $sql = " select * from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
    $gm = sql_fetch($sql);
    if (!$gm[gm_id]) {
        alert("존재하지 않는 자료입니다.");
    }

    $gr_id = $gm[gr_id];
    $mb_id = $gm[mb_id];

    $sql = " delete from $g4[group_member_table] where gm_id = '$gm_id' ";
    sql_query($sql);
 }
 else
 {
    alert("선택하세요.");
 }
?>
지우고 했는데 셀렉트문에서 '그룹을선택하세요'라는 문구만 나오네요.
최고 관리자는 그룹을선택하세요을 클릭하면 해당 그룹이 나오는데
일반 회원은 안나오네요.
그리고 최고관리자로 등록은 되는데, 탈퇴는 안되네요.
죄송합니다. 코드 내부에서 최고 관리자 를 체크 하는군요.
아래의 코드로 해보세요.

<form name=groupform method=post action=''>
        <select name=gr_id>
        <option value=''>그룹을 선택하세요.
        <?
        $sql = " select *
                  from $g4[group_table]
                  where gr_use_access = 1 ";
        $sql .= " order by gr_id ";
        $result = sql_query($sql);
        for ($i=0; $row=sql_fetch_array($result); $i++) {
            echo "<option value='$row[gr_id]'>$row[gr_subject]";           
        }
        ?>
        </select>
        &nbsp;
        <select name=w>
        <option value='sss'>선택하세요.
        <option value='ok'>등록하기
        <option value='del'>탈퇴하기
        </select>
        <input type=submit  value='  확  인  ' accesskey='s'>

</form>


<?
if ($w == "ok")
{
    $gr = get_group($gr_id);
    if (!$gr[gr_id]) {
        alert("존재하지 않는 그룹입니다.");
    }

    $sql = " select count(*) as cnt
              from $g4[group_member_table]
              where gr_id = '$gr_id'
                and mb_id = '$member[mb_id]' ";
    $row = sql_fetch($sql);
    if ($row[cnt]) {
        alert("이미 등록되어 있습니다.");
    }
    else
    {
        $sql = " insert into $g4[group_member_table]
                    set gr_id = '$gr_id',
                        mb_id = '$member[mb_id]',
                        gm_datetime = '$g4[time_ymdhis]' ";
        sql_query($sql);
    }
}
else if ($w == 'del')
{
    $sql = " select * from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
    $gm = sql_fetch($sql);
    if (!$gm[gm_id]) {
        alert("존재하지 않는 자료입니다.");
    }

    $sql = " delete from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
    sql_query($sql);
 }

?>
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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