php if문 문의드립니다.
본문
php if문 문의 드립니다.
/bbs/group.php?gr_id=wooju
/bbs/board.php?bo_table=wooju
/bbs/board.php?bo_table=wooju_abc
위와 같이 sir 그룹안에 3개의 게시판이 있습니다.
if문을 이용하여, "sir" 아이디가 로그인하면 /bbs/board.php?bo_table=wooju
바로 이 게시판으로 이동시키도록 하였는데요.
if ($mb[mb_level] = 7) goto_url("/bbs/board.php?bo_table=".$board);
여기서,
"sir"아이디로 로그인한 후 /bbs/board.php?bo_table=wooju 이 페이지를 벗어날 경우
경고창이 뜨게 하려고 합니다.
------------하려는 방식------------
"wooju" 아이디로 로그인한 상태,
if 페이지 로딩 시 맴버 아이디가 "wooju" 가 아닐 경우
"잘못된 접근입니다"경고창 띄우고, 확인 클릭하면 다시 로그인 한 아이디에 맞게
/bbs/board.php?bo_table=wooju 게시판으로 이동시킬려고 합니다.
단, /bbs/board.php?bo_table=wooju_abc 와 같이 맴버 아이디_abc 와 같이
보드명에 아이디가 속해 있으면, 현재페이지를 그대로 유지해야합니다.
설명이 제대로 된건지 모르겠습니다.
if 문을 head.php 파일에 넣으면 될것 같은데. 조건이 많으니 초보라서 어떻게 해야할지
모르겠네요. 조언 부탁드립니다.
감사합니다.
답변 2
1. 아래 코드는 잘 못 작성되었습니다.
if ($mb[mb_level] = 7) goto_url("/bbs/board.php?bo_table=".$board);
ㅇ = 하나면 할당입니다. == 두개나 === 세개로 사용하셔야 하겠지요.
ㅇ $board는 그누보드 전체적으로 사용하는 변수이기 때문에 혹시나 $board에 다른 값을 넣으셨다면 변수명을 달리하는게 좋습니다.
2. 대략적인 구성을 보니 레벨 7회원의 경우에는 회원아이디로 된 게시판이 있는 것 같은데요.
head.php 파일 상단에 아래와 같이 입력 하면 될 것 같습니다.
<?
if($member[mb_level] == 7 && $bo_table) { // 로그인한 회원의 레벨이 7이면서 게시판 페이지인 경우
$자리수 = strlen($member[mb_id]); // 회원 아이디가 몇글자인가
if(substr($bo_table, 0, $자리수) != $member['mb_id']) { // 게시판ID에서 회원ID만큼만으로 비교 abc회원 abc_123게시판=> abc로 비교
alert('잘못 된 접근입니다', '/bbs/board.php?bo_table='.$member['mb_id']);
}
}
?>
회원ID에 따라 문제가 있을 수 있는 방식이니 다른 방식을 취하는게 좋을 것 같긴 합니다.
예를 들어
ㅇ회원A의 ID : abc
ㅇ회원B의 ID : abc_1
요런식일 경우 문제가 되겠지요...
if($mb[mb_id]=="sir"){
goto_url("/bbs/board.php?bo_table=".$board);
}else{
echo "<script>alert('잘못된 접근입니다.');location.replace('원하는 이동페이지 경로');</script>";
}