로그인후 회원그룹에 따른 페이지 이동

로그인후 회원그룹에 따른 페이지 이동

QA

로그인후 회원그룹에 따른 페이지 이동

답변 2

본문

G5로 만든 사이트에서 첫 화면을 로그인 창이 뜨게하고, 로그인을 하면 

회원그룹에 따라 자신이 속한 그룹의 게시판으로 이동하게 하고 싶습니다.

즉, 로그인했을때 그룹에 따라 이동할 주소를 다르게 하고 싶은데요.

 

즉, 각 그룹에 그룹아이디로 된 게시판을 만들어 놓고,

로그인시 회원의 그룹을 체크해서 회원이 로그인하면

"http://그누도메인/bbs/board.php?bo_table=그룹아이디" 로 이동되게

하고 싶습니다.

소속된 그룹이 없는 경우엔 그냥 사이트메인 (또는 이용안내 페이지)로 이동하게 하고요.

 

이렇게 적용하려면 로그인 페이지에서 어느 부분을 어떻게 수정해야 할까요?

이 질문에 댓글 쓰기 :

답변 2

* /extend/user.config.php 에 추가


add_event('member_login_check', 'create_link_group', 10, 3);
function create_link_group($mb, $link, $is_social_login) {
    global $is_admin;
    if ($is_admin) return;

    $sql = "
        select *
          from {$g5['group_member_table']}
         where mb_id = '{$mb['mb_id']}'
    ";
    $row = sql_fetch($sql);
    
    if ($row['gr_id']) {
        $link = G5_BBS_URL . '/board.php?bo_table=' . $row['gr_id'];
        //$link = G5_BBS_URL . '/group.php?gr_id=' . $row['gr_id'];    
    }    else {
        $link = G5_URL;
    }
    goto_url($link);
}

로그인 체크를 하고 페이지 이동시키는건 

/bbs/login_check.php 파일에서 이뤄집니다. 

 

해당 파일 하단부에 goto_url($link); 가 로그인후 이동하는 페이지인데 이 $link 부분을 

컨트롤 해서 그룹별로 이동 주소를 다르게 해도 되구요. 

 

근데 해당 파일에 직접 작업을 하게 되면 추후 업데이트 할때 직접 작업한 소스를 업데이트 후 

다시 적용해주고 해야하기때문에 제일 좋은 방법은 

 

login_check.php 파일 하단에 실행되는 

run_event('member_login_check', $mb, $link, $is_social_login);
 

이 훅을 이용해서 처리해 주시는게 제일 깔끔하게 처리할수 있을것 같습니다. 

훅을 모르신다면 조금 공부해서 적용하시면 되구요. 귀찮으시면 업데이트는 나중에 생각하고 

해당파일에서 조건줘서 그룹별로 이동페이지 다르게 설정해 주시면 될것 같습니다. 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 13
© SIRSOFT
현재 페이지 제일 처음으로