그누보드 게시글 작성중 select 관련 문의 입니다.

그누보드 게시글 작성중 select 관련 문의 입니다.

QA

그누보드 게시글 작성중 select 관련 문의 입니다.

본문

 

글 작성시  selete 기능을 통해 아래의 내용을 추가하고자 합니다

 


        <select name='wr_1' disabled>
          <option value='답변대기' selected><? if($write[wr_1] == 답변대기) echo "selected"; ?>답변대기</option> 
          <option value='답변완료'><? if($write[wr_1] == 답변완료) echo "selected"; ?>답변완료</option>
        </select>

 

일반 유저가 글을 작성시 disabled를 통해 답변대기값을 defalut로 설정하여 인위적으로 답변완료를 선택못하게 한뒤 글을 작성하게 하려고 합니다. 
이떄 관리자가 게시글에 답변을 한 다음 해당문의글의 수정버튼 클릭시 disabled 되어있는 select 항목을 풀고 관리자가 직접 답변완료를 선택한뒤 저장하게끔 기능을 설정하고 싶습니다.
write.skin.php 파일에서 어떤식으로 코드를 작성하면 될지 노하우 공유좀 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 4


<?php if ($is_admin) { ?>
<select name="wr_1">
  <option value="답변대기" <?php if ($write['wr_1'] == '답변대기') echo "selected"; ?>>답변대기</option> 
  <option value="답변완료" <?php if ($write['wr_1'] == '답변완료') echo "selected"; ?>>답변완료</option>
</select>
<?php } else { ?>
<select name="wr_1">
  <option value="답변대기" <?php if ($write['wr_1'] == '답변대기') echo "selected"; ?>>답변대기</option>   
</select>
<?php } ?>

        <select name='wr_1'>
          <option value='답변대기' selected><? if($write[wr_1] == 답변대기) echo "selected"; ?>답변대기</option>
<?php if($is_admin):?>      
          <option value='답변완료'><? if($write[wr_1] == 답변완료) echo "selected"; ?>답변완료</option>
<?php }?>
        </select>

disabled 속성을 지정해도 사용자에 의한 조작으로 값은 넘길수 있습니다.

 

다음 코드는 값을 보내는 페이지 에서의 $is_admin 글로벌 변수를 활용해

관리자의 경우만 설정을 허용하는 방법입니다.


<?php if (empty($is_admin) == false) { ?>
        <select name='wr_1'>
          <option value='답변대기' selected><?php if($write['wr_1'] == '답변대기') echo "selected"; ?>답변대기</option> 
          <option value='답변완료'><?php if($write['wr_1'] == '답변완료') echo "selected"; ?>답변완료</option>
        </select>
<?php } ?>

 

값을 받는 페이지 에서도 유효성 체크를 하는 방법을 추천드립니다.

https://github.com/gnuboard/gnuboard5/blob/master/bbs/write_update.php#L134

@include_once($board_skin_path.'/write_update.head.skin.php');

또는

https://github.com/gnuboard/gnuboard5/blob/master/bbs/write_update.php#L136

run_event('write_update_before', $board, $wr_id, $w, $qstr);


<?php
if (empty($is_admin) == false) {
    if ($wr_1 != '답변대기' && $wr_1 != '답변완료') {
        $wr_1 = '답변대기';
    }
} else {
    $wr_1 = '답변대기';
    if (isset($wr) == true && $wr['wr_1'] == '답변완료') {
        $wr_1 = '답변완료';
    }
}
?>
답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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