안녕하세요? 좋은 밤입니다. @_@;
제가 말씀드리려는 건 제목 그대로 아웃로그인과 게시판에 그룹별로 접속 가능하게 하는 것입니다.
다른 분들의 팁을 보고 참고했는데...
그룹에 대해서는 언급이 없고...회원 레벨에 따른 접근 권한만 설정하도록 되어있는 것 같더군요.
그래서 제가 생각한 방법을 몇자 적어봅니다.
(혹시 있었던 것은 아닐지 왠지 모를 두려움;;;)
우선 아웃로그인으로 설명합니다.
이 경우에는 앞에 들어갈 파일(head.html 따위)을 하나 만드셔야 합니다.
그리고 다음과 같이 적습니다.
<?
$_zb_url = "제로보드 상대경로/";
$_zb_path = "제로보드 절대경로/";
include $_zb_path."outlogin.php";
?>
// 이것은 기본입니다.
// 또한 이것은 파일의 제일 위에 위치해야 한다는 것 아시죠?
// 그리고 php를 이용해서 다음과 같이 합니다.
// (자바스크립트로 하셔도 상관없겠네요. 님들의 역량으로^^;)
<?
if (!$member[no]) // 로그인이 되지 않은 상태
{
print_outlogin("namu_width_outlogin", 2, 10);
}
else // 로그인이 된 상태
{
if ($member[is_admin]==1) // 관리자인 경우
{
print_outlogin("namu_width_outlogin", 2, 9);
}
else if ($member[group_no]==2) // 2번 그룹인 경우, 허용된 그룹의 경우
{
print_outlogin("namu_width_outlogin", 2, 9);
}
else // 허용된 그룹이 아닌 경우
{
echo ("<SCRIPT>
alert('접근할 수 없습니다!\\n이전 페이지로 이동합니다.\\n이 경우 중복된 경고가 나올 수 있습니다.');
history.back();
</SCRIPT>");
exit;
}
}
?>
// 이상입니다.
아웃로그인 설치하는 방법은 따로 설명하지 않아도 되겠죠?
위의 설명은 9레벨 이상 그리고 2번 그룹일 경우에만 접근을 허용하는 예제입니다.
물론 관리자는 당연히 접근할 수 있도록 하였습니다.
(제 홈...이 아니라 다른 곳에서 살짝 쓰고 있는 것이죠;;)
좀 더 자세한 설명을 드리자면...
if 조건문으로 로그인 한 상태와 로그인 하지 않은 상태를 구분하여,
로그인이 되지 않은 상태라면( if (!$member[no]) // 로그인이 되지 않은 상태 ),
아웃로그인을 표시하도록( print_outlogin("namu_width_outlogin", 2, 10); ) 한 것입니다.
이 때에는 레벨 10의 회원이 아닌 분들도 접근을 해야 로그인을 할 수 있기 때문에 접근 가능 레벨이 10입니다.
이 상황에서 로그인을 하였을 때,
회원이 관리자라면( if ($member[is_admin]==1) // 관리자인 경우 ),
로그인된 상태를 아웃로그인으로 표시합니다( print_outlogin("namu_width_outlogin", 2, 9); ).
만일 접근이 허용된 2번 그룹의 회원일 경우( else if ($member[group_no]==2) // 2번 그룹인 경우, 허용된 그룹의 경우 ),
로그인된 상태를 아웃로그인으로 표시합니다( print_outlogin("namu_width_outlogin", 2, 9); ).
그 이외의 경우인 허용되지 않은 그룹의 회원일 경우에는( else // 허용된 그룹이 아닌 경우 )
경고를 표시하면서, 이전 페이지로 이동합니다.
(
echo ("<SCRIPT>
alert('접근할 수 없습니다!\\n이전 페이지로 이동합니다.\\n이 경우 중복된 경고가 나올 수 있습니다.');
history.back();
</SCRIPT>");
exit;
)
이 경우에 exit; 이것은 필수이던데 왜 그런지는 저도 잘 모르겠어요. 무한 루프에 빠졌던가? @_@;
아시는 분 말씀 좀 해주세요.
참고로, history.back(); 요거하면 만일 다른 곳에서 똑같은 db에 접속된 상태라면, 계속 똑같은 경고 메세지가 나오면서 이전 페이지로 가게됩니다. 조심하세요. +_+
회원 레벨별 접근 권한을 줄 때에는...아웃로그인을 이용한다면, 간단히 아웃로그인 설치할 때
print_outlogin("namu_width_outlogin", 2, 9); 마지막 숫자 9 또는 10 등을 적절히 바꾼다면 간단할 것입니다.
게시판에 접근 권한을 줄 때에는 레벨별 접근 권한이라면,
게시판 설정할 때 레벨을 지정하면 간단합니다.
아니면, 다른 분들도 언급하였던,
if (9<$member[level]) 이러한 조건문을 이용해서, 위와 같이 하면 될 것입니다.
(http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=on&divpage=1&sn=on&ss=off&sc=off&keyword=DeX™&select_arrange=headnum&desc=asc&no=2854 이것을 참고하면 좋겠네요.)
그룹별 접근 권한을 줄 때에는 위와 같이
if ($member[group_no]==2) 여기서 2라는 숫자만 조절한다면 쉽게 할 수 있을 것입니다.
방법은 아웃로그인을 할 때와 비슷한 것 같습니다.
(안해봐서 정확하게 말씀은 못 드리겠지만,
위의 링크를 참고해서 회원 레벨별 조건문 대신에 if ($member[group_no]==2) 그룹별 조건문을 집어넣는다면,
틀리지 않을 것 같습니다. 물론 다른 방법도 있습니다. 님들의 역량에 맡길께요. ^^;)
저는 아웃로그인이 항상 보이기 때문에 게시판에 접근 권한을 주는 것을 별로 생각해 보지 않았습니다.
틀린 곳이 있다면, 알려주세요. 바로 수정하겠습니다.
이걸 쓰는 곳이 비공개 커뮤니티라서 주소를 알려드릴 수는 없으며,
namu_width_outlogin 은 제가 만든 게 아닌 약간 수정한 다른 분의 아웃로그인이며,
자료실에서 아무리 찾아봐도 없답니다. @_@;
이 팁이 많은 도움이 되었으면 하는 바램입니다.
그럼 좋은 하루되세요.
나무스타일.NET
출처 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=3&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=그룹&select_arrange=headnum&desc=asc&no=3385
제가 말씀드리려는 건 제목 그대로 아웃로그인과 게시판에 그룹별로 접속 가능하게 하는 것입니다.
다른 분들의 팁을 보고 참고했는데...
그룹에 대해서는 언급이 없고...회원 레벨에 따른 접근 권한만 설정하도록 되어있는 것 같더군요.
그래서 제가 생각한 방법을 몇자 적어봅니다.
(혹시 있었던 것은 아닐지 왠지 모를 두려움;;;)
우선 아웃로그인으로 설명합니다.
이 경우에는 앞에 들어갈 파일(head.html 따위)을 하나 만드셔야 합니다.
그리고 다음과 같이 적습니다.
<?
$_zb_url = "제로보드 상대경로/";
$_zb_path = "제로보드 절대경로/";
include $_zb_path."outlogin.php";
?>
// 이것은 기본입니다.
// 또한 이것은 파일의 제일 위에 위치해야 한다는 것 아시죠?
// 그리고 php를 이용해서 다음과 같이 합니다.
// (자바스크립트로 하셔도 상관없겠네요. 님들의 역량으로^^;)
<?
if (!$member[no]) // 로그인이 되지 않은 상태
{
print_outlogin("namu_width_outlogin", 2, 10);
}
else // 로그인이 된 상태
{
if ($member[is_admin]==1) // 관리자인 경우
{
print_outlogin("namu_width_outlogin", 2, 9);
}
else if ($member[group_no]==2) // 2번 그룹인 경우, 허용된 그룹의 경우
{
print_outlogin("namu_width_outlogin", 2, 9);
}
else // 허용된 그룹이 아닌 경우
{
echo ("<SCRIPT>
alert('접근할 수 없습니다!\\n이전 페이지로 이동합니다.\\n이 경우 중복된 경고가 나올 수 있습니다.');
history.back();
</SCRIPT>");
exit;
}
}
?>
// 이상입니다.
아웃로그인 설치하는 방법은 따로 설명하지 않아도 되겠죠?
위의 설명은 9레벨 이상 그리고 2번 그룹일 경우에만 접근을 허용하는 예제입니다.
물론 관리자는 당연히 접근할 수 있도록 하였습니다.
(제 홈...이 아니라 다른 곳에서 살짝 쓰고 있는 것이죠;;)
좀 더 자세한 설명을 드리자면...
if 조건문으로 로그인 한 상태와 로그인 하지 않은 상태를 구분하여,
로그인이 되지 않은 상태라면( if (!$member[no]) // 로그인이 되지 않은 상태 ),
아웃로그인을 표시하도록( print_outlogin("namu_width_outlogin", 2, 10); ) 한 것입니다.
이 때에는 레벨 10의 회원이 아닌 분들도 접근을 해야 로그인을 할 수 있기 때문에 접근 가능 레벨이 10입니다.
이 상황에서 로그인을 하였을 때,
회원이 관리자라면( if ($member[is_admin]==1) // 관리자인 경우 ),
로그인된 상태를 아웃로그인으로 표시합니다( print_outlogin("namu_width_outlogin", 2, 9); ).
만일 접근이 허용된 2번 그룹의 회원일 경우( else if ($member[group_no]==2) // 2번 그룹인 경우, 허용된 그룹의 경우 ),
로그인된 상태를 아웃로그인으로 표시합니다( print_outlogin("namu_width_outlogin", 2, 9); ).
그 이외의 경우인 허용되지 않은 그룹의 회원일 경우에는( else // 허용된 그룹이 아닌 경우 )
경고를 표시하면서, 이전 페이지로 이동합니다.
(
echo ("<SCRIPT>
alert('접근할 수 없습니다!\\n이전 페이지로 이동합니다.\\n이 경우 중복된 경고가 나올 수 있습니다.');
history.back();
</SCRIPT>");
exit;
)
이 경우에 exit; 이것은 필수이던데 왜 그런지는 저도 잘 모르겠어요. 무한 루프에 빠졌던가? @_@;
아시는 분 말씀 좀 해주세요.
참고로, history.back(); 요거하면 만일 다른 곳에서 똑같은 db에 접속된 상태라면, 계속 똑같은 경고 메세지가 나오면서 이전 페이지로 가게됩니다. 조심하세요. +_+
회원 레벨별 접근 권한을 줄 때에는...아웃로그인을 이용한다면, 간단히 아웃로그인 설치할 때
print_outlogin("namu_width_outlogin", 2, 9); 마지막 숫자 9 또는 10 등을 적절히 바꾼다면 간단할 것입니다.
게시판에 접근 권한을 줄 때에는 레벨별 접근 권한이라면,
게시판 설정할 때 레벨을 지정하면 간단합니다.
아니면, 다른 분들도 언급하였던,
if (9<$member[level]) 이러한 조건문을 이용해서, 위와 같이 하면 될 것입니다.
(http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=on&divpage=1&sn=on&ss=off&sc=off&keyword=DeX™&select_arrange=headnum&desc=asc&no=2854 이것을 참고하면 좋겠네요.)
그룹별 접근 권한을 줄 때에는 위와 같이
if ($member[group_no]==2) 여기서 2라는 숫자만 조절한다면 쉽게 할 수 있을 것입니다.
방법은 아웃로그인을 할 때와 비슷한 것 같습니다.
(안해봐서 정확하게 말씀은 못 드리겠지만,
위의 링크를 참고해서 회원 레벨별 조건문 대신에 if ($member[group_no]==2) 그룹별 조건문을 집어넣는다면,
틀리지 않을 것 같습니다. 물론 다른 방법도 있습니다. 님들의 역량에 맡길께요. ^^;)
저는 아웃로그인이 항상 보이기 때문에 게시판에 접근 권한을 주는 것을 별로 생각해 보지 않았습니다.
틀린 곳이 있다면, 알려주세요. 바로 수정하겠습니다.
이걸 쓰는 곳이 비공개 커뮤니티라서 주소를 알려드릴 수는 없으며,
namu_width_outlogin 은 제가 만든 게 아닌 약간 수정한 다른 분의 아웃로그인이며,
자료실에서 아무리 찾아봐도 없답니다. @_@;
이 팁이 많은 도움이 되었으면 하는 바램입니다.
그럼 좋은 하루되세요.
나무스타일.NET
출처 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=3&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=그룹&select_arrange=headnum&desc=asc&no=3385