한명의 특정 회원만 한개의 특정 게시판만.... > 그누4 질문답변

그누4 질문답변

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

한명의 특정 회원만 한개의 특정 게시판만.... 정보

한명의 특정 회원만 한개의 특정 게시판만....

본문

지금 12 시간 째 수백번 고쳣다 지웠다.. 꼬박 밤새내요..

1. 한명의 특정 회원만 한개의 특정 게시판만을 관리하고 그 회원만 그 게시판을 볼수 있게 하려면 어떻게 하나요?

2. 특정 그룹의 회원들이 로그인 했을 때 특정 페이지로 이동하게 하려면 outlogin skin에서 어디를 수정해야 하나요?

if 구문이 왜 이리 머리에 안들어 오는지..ㅠ.ㅠ

고수님들께 조언 부탁드립니다..
  • 복사

댓글 전체

먼저 2번 질문부터 답을 해 봅니다.

특정그룹(또는 특정회원)이 로긴했을때 이동하는 페이지 설정은 스킨이 아니라,
bbs/login_check.php 를 수정해야 할 것 같네요.
파일 아래부분을 보면,

    $link = $g4[path];
    goto_url($link);
이것을 아래를 참조해서 작업해 보시면 될듯 하네요.

if(그룹조건) {
  $link = 이동페이지;
} else {
    $link = $g4[path];
}
    goto_url($link);

1번 질문의 경우,
개인에게 특정게시판을 만들어 준다면, 아마도 회원수 = 게시판수가 될 수도 있겠군요. ^^

하나의 게시판으로 자신의 글만 열람할 수 있는 기능을 원하시는것이 아닌가 생각되는데요.
그런 기능을 가진 스킨은 스킨자료실에 있는 것으로 알고 있습니다.

http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=24034&sca=%B0%D4%BD%C3%C6%C7&sfl=wr_subject&stx=%B0%B3%C0%CE&sop=and

참고하시면 될 듯 하네요.

먼저번 부가세계산 부분은 잘 된것 같아 다행입니다 ^^.
그레이 님 덕택에 잘 해결됬습니다. ^^. 고맙습니다.

이번 질문에서는 밑에처럼 했는데 2 번 문제가 해결이 안되는군요.

1.번은 한번 머리를 굴려보겠습니다.
----------------------------------------------------

if ($url)
{
    $link = urldecode($url);
    // 2003-06-14 추가 (다른 변수들을 넘겨주기 위함)
    if (preg_match("/\?/", $link))
        $split= "&";
    else
        $split= "?";

    // $_POST 배열변수에서 아래의 이름을 가지지 않은 것만 넘김
    foreach($_POST as $key=>$value)
    {
        if ($key != "mb_id" && $key != "mb_password" && $key != "x" && $key != "y" && $key != "url")
        {
            $link .= "$split$key=$value";
            $split = "&";
        }
    }
}
else
   


if($member[mb_gr] == 'artist') {
  $link = $g4[path]/tree.php;;
} else {
    $link = $g4[path];
}
    goto_url($link);

-------------------------------------
이렇게 했는데 왜 첫 페이지로 넘어갈까요? 회원이 artist라는 그룹 맞는데요..
그누보드 회원정보 테이블에 [mb_gr] 이 있는지요..?
제가 알기로 group 정보는 g4_group, g4_group_member 테이블에 있는 것을 불러와야하는 것으로 알고 있습니다.

간단히 보자면,

$sql = "select * from g4_group_member where mb_id = $mb_id";
$result = mysql_query($sql);
$group = mysql_fetch_array($result);

이렇게 먼저 아이디를 기준으로 그룹멤버인지 확인을 하고 ,

if($group[gr_id] == 'artist') {
  $link = $g4[path]/tree.php; <-- 여기에도 ; 가 두번 들어가있네요.^^(오타겠지요.)
} else {
    $link = $g4[path];
}
    goto_url($link);

이렇게 해줘야 할것 같네요.
아마도 기본 로그인 체크에서 그룹멤버 체크하는 부분이 없을겁니다.
-----------------------------------
else

$sql = "select * from g4_group_member where mb_id = $mb_id";
$result = mysql_query($sql);
$group = mysql_fetch_array($result);


if($group[gr_id] == 'artist') {
  $link = $g4[path]/tree.php;
} else {
    $link = $g4[path];
}
    goto_url($link);
-----------------------------------------
이렇게 해도 그냥 첫 페이지로 넘어가는군요. 도대체 어디가 잘못된걸까요.
이틀째 씨름하고 있습니다.
질답란에 뒤져보니 같은 질문인데 여기는 로긴스킨에서 접근을 했는데
이해를 못하겠네요..

http://sir.co.kr/bbs/tb.php/g4_qa/154473/7ee8cb1443fc5378eeffffca56ede0cd
처음 수정했던 /bbs/login_check.php는 모두 원래대로 복원하시고

skin/member/.../login_check.skin.php 에

// 자신만의 코드를 넣어주세요. <-- 이부분아래

$sql = "select * from g4_group_member where mb_id = $member[mb_id]";
$result = mysql_query($sql);
$group = mysql_fetch_array($result);


if($group[gr_id] == 'artist') {
  $url = $g4[path]/tree.php;
} else {
    $url = $g4[path];
}

이렇게 넣고 해보세요. ^^
먼저 이렇게 해 보면 어떨까요.

skin/member/.../login_check.skin.php 에

if($member[mb_level] == '5') {
  $url = /bbs/tree.php;
} else {
    $url = $g4[path];
}

이렇게 해서 레벨에 따른 접속페이지 이동이 되는지 확인해 보시고,
된다면, 그룹 불러오는 부분을 점검해 보셔야 할 것같네요.
먼저, 그룹아이디를 불러오는지 확인해 보시기 바랍니다.

$member[mb_id] 앞뒤로 ' 넣어주셨는지요.?
(아무생각없이 타이핑을 한건데, 혹시 그대로 쓰신거 아닌가 해서요)
$sql = "select * from g4_group_member where mb_id = '$member[mb_id]' ";
이렇게요.

두번째는 $url 을 $g4[path] 가 아닌  /bbs/tree.php 이런식으로 바꿔서 저장해 보시구요.
그레이님 이렇게 마음써줘 고맙습니다. 그런데 안되는군요.
'' 앞뒤로 넣어주엇고 경로도 바꾸어 보고
그룹이 아니라 회원레벨 변경하는 식으로 테스트도
해봤으나 여전히 첫페이지로만 로그인 되는군요.

이틀동안 요것만 잡고 씨름중입니다. 하도 모니터를 봐서
눈앞이 노~~~랗습니다. ㅠ.ㅠ
© SIRSOFT
현재 페이지 제일 처음으로