테스트 사이트 - 개발 중인 베타 버전입니다

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

메너 1개월 전 조회 138

안녕하세요. 고수님들

 

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

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

 

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

채택된 답변
+20 포인트
1개월 전

$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개

메너
1개월 전
자세한 설명에 도움이 정말 많이 되었습니다. 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
1개월 전

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

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

메너
1개월 전
정말 많은 도움이 되었습니다. 너무 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

들레아빠
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개

메너
1개월 전
댓글 감사합니다. 잘 처리하였습니다.

댓글을 작성하려면 로그인이 필요합니다.

1개월 전

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']) {  ?>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

메너
1개월 전
댓글 너무 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인