변수 다시한번 문의드립니다. 채택완료
일전에 올린 질문이 변수설정이 잘못 착각하여 다시한번 문의드립니다.
<?php if (!($list[$i]['wr_level'] && $list[$i]['wr_level'] > $member['mb_level'])) { //레벨제한?>
링크
<?php } //레벨제한?>
$list[$i]['wr_level'] 에 값이 있고
$list[$i]['wr_level'] 값이 내 레벨보다 높으면 "링크"를 출력하지않는다.
단, 글쓴이거나 관리자는 위 변수 무시
파란부분은 어떻게 처리하면 좋은지요?
답변 4개
wr_level 이 없는 게시판이면 출력을 해야 한다는건가요 안해야 한다는 건가요
</p><pre><?php
// wr_level 이 설정되지 않은 게시판에서는 링크를 그냥 출력함
if( !isset($list[$i]['wr_level']) || ($list[$i]['wr_level'] <= $member['mb_level']) || ($list[$i]['mb_id'] == $member['mb_id']) || $is_admin)
{
echo '<a href="'.$list[$i]['href'].'">링크</a>';
}
?>
<?php
// wr_level 이 설정되지 않은 게시판에서는 링크를 출력하지 않음
if( isset($list[$i]['wr_level']) && (($list[$i]['wr_level'] || ($list[$i]['wr_level'] <= $member['mb_level']) || ($list[$i]['mb_id'] == $member['mb_id']) || $is_admin))
{
echo '<a href="'.$list[$i]['href'].'">링크</a>';
}
?>
</pre><p>
댓글을 작성하려면 로그인이 필요합니다.
<br />
// 이곳에 보여줄 링크를 작성하세여<br />
<?php } ?><br />
댓글을 작성하려면 로그인이 필요합니다.
wr_level 이 회원레벨 보다 낮거나, 작성자이거나, 관리자이면 출력하면 되겠죠
</p><p><?php
if( ($list[$i]['wr_level'] <= $member['mb_level']) || ($list[$i]['mb_id'] == $member['mb_id']) || $is_admin)
{
echo '<a href="'.$list[$i]['href'].'">링크</a>';
}
?> </p><p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
을 보니 ! 이게 맨 앞에 붙어있네요
이것의 의미는 다음과 같겠습니다.
$list[$i]['wr_level'] 의 값이 없다
&& <== 그리고
$list[$i]['wr_level'] 의 값이 $member['mb_level'] 크지 않을때 가 될거 같습니다.
!이게 없었다면 클때 라는 의미가 되겠지만 부정의 의미인 '!' 이 붙었기 때문에 그 반대가 되겠네요
즉 , wr_level 값이 없고 회원의 레벨이 wr_level 보다 작을때 조건에 충족할텐데
이 조건문이 질문자님이 원하시는건지 모르겠지만
이러한 조건문이 과연 충족될수 있을까 하는 의문이 생기네요
결국 이 조건문을 충족하려면 회원레벨이 있고 wr_level 이 없을때만 충족되겠네요
앞에 ! 이거를 제거하신다면 wr_level 값이 있고 회원레벨이 wr_level 보다 작을때의 조건이 되겠네요
여기서 관리자거나 글쓴이인경우의 조건을 더 덧붙이려면
(근데 이 조건문 소스가 붙는것이 목록스킨인가요? list.skin.php인가요? 코멘트인가요?)
목록이라고 가정해보면
</p><p><?php if (($list[$i]['wr_level'] && $list[$i]['wr_level'] > $member['mb_level']) && ($list[$i]['mb_id'] != $member['mb_id'] && !$is_admin)) { //레벨제한?></p><p> </p><p style="margin-left: 40px;">echo "접근 권한이 없습니다.";</p><p><?php } ?></p><p>
이렇게 변형하시면 되겟는데요^^
답변에 대한 댓글 3개
<a href="<?php echo $list[$i]['href'] ?>">
$list[$i]['wr_level'] 에 값이 있고
$list[$i]['wr_level'] 값이 본인의 레벨보다 높다면 링크를 안보이게 할 예정입니다.
이때 본인이 쓴글이거나 관리자는 무조건 링크가 나와야겟죠......
변수 어렵네요 헤갈리기도 하고 ㅡㅜ
<?php }else{?>
<a href="<?php echo $list[$i]['href'] ?>">
<?php } //레벨제한?>
이렇게 작성하니 되는데 <?php }else{?> 변수안만들고 할수는 없겠죠?
왠만하면 사용하시는게 좋아요
꼭 이글에만 국한된 답변은 아니구요 ㅎㅎ
아무튼 else없이 하시려면 조건부가 약간 수정이 필요할거에요
등호가 좀 바껴야겠죠
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
다른게시판은 위 변수를 안쓸수도 있어서
그럼
앞에 $list[$i]['wr_level'] &&
이거만 추가하면 될까요?