관리자와 작성자에게만 보이게 하는 방법 문의 드립니다.

관리자와 작성자에게만 보이게 하는 방법 문의 드립니다.

QA

관리자와 작성자에게만 보이게 하는 방법 문의 드립니다.

본문

안녕하세요. 고수님들

 

아래 코드를 작성자와 관리자만 보이게 하려고 합니다. 어찌 처리를 해야 할까요?

"글내용으로" 라는 링크를 작성자와 관리자에게만 보이게 하려고 허접한 실력으로 구글링해서 아래 빨간 코드로 처리해보았지만 적용이 안 됩니다.

 

<?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 모두 사용가능합니다 

 

 

 

 

 

 

view.skin.php 에서는 $view 를 사용해야 됩니다.

 

<?php if ($is_admin == 'super' || $member['mb_id'] == $view['mb_id']) {  ?>

혹은

<?php if ($is_admin || $member['mb_id'] == $view['mb_id']) {  ?>


<?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 } ?>

코드 의미를 이해하시면 스스로 해결 가능하실 듯..

  • $member['mb_id'] - 로그인 한 사람 아이디
  • $view['mb_id'] - view 화면에서의 글쓴이 아이디
  • $is_admin - 관리자 (super: 최고관리자, group:그룹관리자, board: 게시판관리자)
  • && - 그리고 (and)
  • || - 또는 (or)
  • == - 동일 (equal 의미)
  • != - 다름 (not equal 의미)

 

답변을 작성하시기 전에 로그인 해주세요.
전체 129,672 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT