관리자와 작성자에게만 보이게 하는 방법 문의 드립니다. 채택완료
안녕하세요. 고수님들
아래 코드를 작성자와 관리자만 보이게 하려고 합니다. 어찌 처리를 해야 할까요?
"글내용으로" 라는 링크를 작성자와 관리자에게만 보이게 하려고 허접한 실력으로 구글링해서 아래 빨간 코드로 처리해보았지만 적용이 안 됩니다.
<?php if($write_href) { ?>
<p class="text-right">
<?php if ($member['mb_id'] && $member['mb_id'] == $write['wr_id']) { ?>
<a href="<?php echo $view['href']; ?>" class="item-subject"<?php echo $view['target'];?> <?php echo $is_modal_js;?>>
<span class="text-muted"><i class="fa fa-arrow-right"></i> 글내용으로</span>
</a>
<?php } ?>
</p>
<?php } ?>
도움 부탁드립니다.
감사합니다.
답변 4개
$member['mb_id'] == $write['wr_id'] <===이게 질못입니다
수정 :: $member['mb_id'] == $write['mb_id']
이렇게 하면 등록자에게만 해당 됩니다
조건문에 if ($member['mb_id'] && ~~~) 에서 $member['mb_id'] &&는 불필요합니다
관리자 조건도 넣어야 합니다
if ( $is_admin || $member['mb_id'] == $write['mb_id'] )
그리고 위 조건이면 if($write_href) <==이 조건문은 필요 없습니다
원하는 처리는 위와 같이 해서 해결 되겠지만 방법이 좀 이상 하군요
뷰페이지에서 다시 뷰페이지 링크를 보여주는 이유를 모르겠으나
뷰페이지까지 와서 링크를 통해서 다시 뷰페이지를 보여준다는 것은 뷰페이지를 두번 실행하는 것이됩니다
그냥 뷰페이지에 내용이 나오거나 나오지 않게 해버리면 될 것입니다
내용보기 전체를 위 조건으로 둘러싸서 관리자와 등록자만 내용이 나오게 하면 될 것입니다
더 쉽고 간단하게는 페이지 상단에 다음처럼 하면됩니다
if ( !$is_admin && $member['mb_id'] != $write['mb_id']) ) alert('권한 없음'); <===추가
내용에서는 조건문 필요없습니다
cf) $wr_id 값이 있으면 $write , $view 모두 사용가능합니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
코드 의미를 이해하시면 스스로 해결 가능하실 듯..
- $member['mb_id'] - 로그인 한 사람 아이디
- $view['mb_id'] - view 화면에서의 글쓴이 아이디
- $is_admin - 관리자 (super: 최고관리자, group:그룹관리자, board: 게시판관리자)
- && - 그리고 (and)
- || - 또는 (or)
- == - 동일 (equal 의미)
- != - 다름 (not equal 의미)
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p><?php if($write_href) { ?>
<p class="text-right">
<?php if ($is_admin || $member['mb_id'] == $view['mb_id']) { ?>
<a href="<?php echo $view['href']; ?>" class="item-subject"<?php echo $view['target'];?><?php echo $is_modal_js;?>>
<span class="text-muted"><i class="fa fa-arrow-right"></i> 글내용으로</span>
</a>
<?php } ?>
</p>
<?php } ?></p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인