체크박스 수정시 해제안되게 하는 방법

체크박스 수정시 해제안되게 하는 방법

QA

체크박스 수정시 해제안되게 하는 방법

본문

게시판 글 수정시 체크박스 체크된 부분 해제안되게 할려면 어찌하면 되나요..

소스는 아래와 같이 사용하고 있습니다.

<input type="checkbox" name="wr10[0]" value="내용1" <?php echo ($wr10[0] == "1") ? "checked" : "";?>> 내용1
<input type="checkbox" name="wr10[1]" value="내용2" <?php echo ($wr10[1] == "2") ? "checked" : "";?>> 내용2
<input type="checkbox" name="wr10[2]" value="내용3" <?php echo ($wr10[2] == "3") ? "checked" : "";?>> 내용3
<input type="checkbox" name="wr10[3]" value="내용4" <?php echo ($wr10[3] == "4") ? "checked" : "";?>> 내용4
<input type="checkbox" name="wr10[4]" value="내용5" <?php echo ($wr10[4] == "5") ? "checked" : "";?>> 내용5

이 질문에 댓글 쓰기 :

답변 5

저장을 어떻게 하고 있는지 남이 알아볼 수 있게 설명을 해야 답변을 할 수 있을텐데요

체크박스 value가 내용1, 내용2~~~ 인데 $wr[0]==1 ? 이렇게 하는 것이 이상하네요

 

write_update.head.skin.php화일에서 다음처럼 코딩해서 저장하고

$wr_10=$wr10[0].'|'.$wr10[1].'|'.$wr10[2].'|'.$wr10[3].'|'.$wr10[4].'|'.$wr10[5];

 

write.skin.php에서 다음처럼 하세요

$wr10 = explode('|', $write['wr_10']);

for($i=0; $i<5; $i++) $wrchk[$i] = $wr10[$i] ?  'checked' : ''; 

==============

<input type="checkbox" name="wr10[0]" value="내용1" <?php echo $wrchk[0];?>> 내용1

<input type="checkbox" name="wr10[1]" value="내용2" <?php echo $wrchk[1];?>> 내용2

<input type="checkbox" name="wr10[2]" value="내용3" <?php echo $wrchk[2];?>> 내용3

<input type="checkbox" name="wr10[3]" value="내용4" <?php echo $wrchk[3];?>> 내용4

<input type="checkbox" name="wr10[4]" value="내용5" <?php echo $wrchk[4];?>> 내용5

 

 

차라리 체크박스 보다는 radio 박스로 처리하시는건 어떠실까 여쭈어 봅니다.
아니면 체크된 부분뒤에 disabled 처리를 해서 처리하는 방법도 있습니다.


<input type="checkbox" name="wr10[0]" value="내용1" <?php echo ($wr10[0] == "1") ? "disabled checked" : "";?>>

이런식으로 disabled을 함께 사용하시되 disabled로 막아도 변조가 가능하기 때문에 업데이트 시키실 때 이전 값으로 불러와서 넣어야 해요

전 보통 이렇게 합니다.

 

<input value="1" <?php echo ($write['wr_10']&1 ) ? "checked" : "";?>> 내용1

<input value="2" <?php echo ($write['wr_10']&2) ? "checked" : "";?>> 내용2

<input value="4" <?php echo ($write['wr1_0']&4 ) ? "checked" : "";?>> 내용3

 

write_update.php(또는 스킨 등에서)

$wr_10=  array_sum( $_POST['wr_10']);

로 하고 DB에 저장합니다.

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

회원로그인

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