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

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

2년 전 조회 1,516

 

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

 

</p>

<p>        <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></p>

<p>

 

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

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

답변 4개

채택된 답변
+20 포인트

</p>

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

<p>

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

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

답변들 감사드립니다!

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

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

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

 

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

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

</p>

<p><?php if (empty($is_admin) == false) { ?></p>

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

<p>

 

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

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);

</p>

<p><?php</p>

<p>if (empty($is_admin) == false) {</p>

<p>    if ($wr_1 != '답변대기' && $wr_1 != '답변완료') {</p>

<p>        $wr_1 = '답변대기';</p>

<p>    }</p>

<p>} else {</p>

<p>    $wr_1 = '답변대기';</p>

<p>    if (isset($wr) == true && $wr['wr_1'] == '답변완료') {</p>

<p>        $wr_1 = '답변완료';</p>

<p>    }</p>

<p>}</p>

<p>?></p>

<p>

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

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

       

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

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

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

로그인

전체 질문 목록