글쓴이가 항목별로 노출여부 설정 채택완료
여분필드를 이용해서, 자기소개 게시판을 만들었습니다.
wr_1 : 이름 , wr_2 : 출신학교 , wr_3 : 전화번호 , wr_4 : 이메일 , wr_5 : 생일 , wr_6 : 취미 , wr_7 : MBTI유형
이렇게 되어 있는데요.
글쓴이가 각 항목별로 공개여부를 설정할 수 있게 적용할 수 있을까요?
공개된 항목은 리스트 (list.skin.php) 및 내용보기 (view.skin.php)에서 항목의 내용이 표시되고,
비공개된 항목은 리스트 및 내용보기에 표시될때 해당항목의 값대신 "비공개"라고 보이게 하고 싶습니다.
답변 3개
그누순정 기준입니다.
write.skin.php 의 적당 위치에 아래처럼요. 체크가 공개이고 체크없는 빈값이 비공개입니다.
wr_10 이 핵심 문자열입니다.
</p>
<p>체크:공개<input type="hidden" id="wr_10" name="wr_10" value="<?php echo $write['wr_10']; ?>">
<input type="checkbox" id="check_1"><input id="wr_1" name="wr_1" value="<?php echo $write['wr_1']; ?>">
<input type="checkbox" id="check_2"><input id="wr_2" name="wr_2" value="<?php echo $write['wr_2']; ?>">
<input type="checkbox" id="check_3"><input id="wr_3" name="wr_3" value="<?php echo $write['wr_3']; ?>">
<input type="checkbox" id="check_4"><input id="wr_4" name="wr_4" value="<?php echo $write['wr_4']; ?>">
<input type="checkbox" id="check_5"><input id="wr_5" name="wr_5" value="<?php echo $write['wr_5']; ?>">
<input type="checkbox" id="check_6"><input id="wr_6" name="wr_6" value="<?php echo $write['wr_6']; ?>">
<input type="checkbox" id="check_7"><input id="wr_7" name="wr_7" value="<?php echo $write['wr_7']; ?>"></p>
<p>
write.skin.php 의 하단부에
</p>
<p><script></p>
<p>for (i = 1; i <= 7; i++) document.querySelector("#check_" + i).checked = document.querySelector("#wr_10").value.split("|")[i] != "비공개";
document.querySelector("#btn_submit").addEventListener("click", function() {
document.querySelector("#wr_10").value = "";
for (i = 1; i <= 7; i++) document.querySelector("#wr_10").value += "|" + (document.querySelector("#check_" + i).checked ? document.querySelector("#wr_" + i).value : "비공개");
} );
</script></p>
<p>
wr_10 의 값을 쪼물딱 거린 형태라 뷰페이지에서는 아래처럼요.
$my[1] 부터 $my[7] 까지입니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
wr_10 필드 : 비공개할 필드 정보 저장
ex) 출신학교(wr_2), 생일(wr_5) 비공개
=> wr_10 : wr_2,wr_5
* write.skin.php
공개
비공개
* write_update.head.skin.php
if ($wr_1_open == 'N')
$arr[] = "wr_1";
if ($wr_2_open == 'N')
$arr[] = "wr_2";
...
$wr_10 = implode(',', $arr);
* view.skin.php
이름 :
* list.skin.php
이름 :
답변에 대한 댓글 4개
수정으로 들어갔을때 공개,비공개 선택해 놓은 값이 사라져 버리는데요. 혹시 선택값이 유지되게 할 수도 있을까요?
<input type="text" name="wr_1">
<input type="radio" name="wr_1_open" value="Y" <php echo strstr($write['wr_10'], 'wr_1') ? '' : 'checked' ?>>공개
<input type="radio" name="wr_1_open" value="N" <php echo strstr($write['wr_10'], 'wr_1') ? 'checked' : '' ?>>비공개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인