수정모드에서 라디오체크버튼을 재수정을 못하도록 하고싶습니다. 정보
수정모드에서 라디오체크버튼을 재수정을 못하도록 하고싶습니다.본문
----------------------
write.skin.php
----------------------
<? if ($is_member) { ?>
<table>
<tr><td>
<input type=radio name='wr_1' value='1' <? if($write[wr_1] == "1") echo "checked"; ?>> 급매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='2' <? if($write[wr_1] == "2") echo "checked"; ?>> 추천매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='3' <? if($write[wr_1] == "3") echo "checked"; ?>> 굵게표시
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='4' <? if($write[wr_1] == "4") echo "checked"; ?>> 사용안함
</td></tr>
</table>
<? } ?>
.....{기타 게시판 내용 생략~} ....
write.skin.php 에 들어있는 라디오 체크버튼을 이용해서 위 4개중 하나를 선택하고
write_update.skin.php로 넘어가면 아래처럼 체크된 버튼에 따라 포인트를 삭제처리합니다.
----------------------
write_update.skin.php
----------------------
if($w != "u" && $wr_1) { // 처음 글등록시, '선택된 체크버튼'에 따라 포인트 삭제
if($wr_1 == 1) {
$point_del = -1000;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
if($wr_1 == 2) {
$point_del = -500;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
if($wr_1 == 3) {
$point_del = -100;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
}
게시판 글쓰기에서 wr_1 여유필드를 이용해서 위처럼 작업을 하여 저장하고 뷰화면출력까지 이상없이 잘됩니다.
도움을 필요로 하는것은 다름이 아니라, write.skin.php에서 위 라디오체크버튼과 관련한 부분입니다.
write.skin.php 에서 처음 한번만 라디오버튼을 위처럼 선택할수 있게하고
'글수정' 모드에서는 체크된 라디오버튼을 임의로 다른것으로 바꿀수 없게 하고 싶습니다.
글작성은 현재 '회원'만 가능한 상태이고,
관리자를 제외한..... 회원이라 하더라도 수정모드에서는 다른 내용(제목,내용..)은
수정이 가능해도 위의 '라디오체크버튼'은 재수정이 안되도록 하는 스크립터같은걸 구현해야하는데
잘되지를 않네요..
if($w != "u") ... 형태로 zzz님께서 도움글을 주셨는데, 이렇게 하니
라디오체크박스가 다 풀려버려서 그마저도 안되는군요.
결국 스크립터를 이용해서 제어를 해야할거 같다는 생각이 들긴 구현을 못하겠습니다.
스크립터작성에 능하시거나, 위 내용을 이해하시고 다른 방법을 아신다면 ..리플을 좀 부탁드리겠습니다.
꾸벅~
p.s; 요즘 질문을 도배를 하는거 같아 눈치가 많이 보이네요..죄송합니다. -_-;;
write.skin.php
----------------------
<? if ($is_member) { ?>
<table>
<tr><td>
<input type=radio name='wr_1' value='1' <? if($write[wr_1] == "1") echo "checked"; ?>> 급매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='2' <? if($write[wr_1] == "2") echo "checked"; ?>> 추천매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='3' <? if($write[wr_1] == "3") echo "checked"; ?>> 굵게표시
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='4' <? if($write[wr_1] == "4") echo "checked"; ?>> 사용안함
</td></tr>
</table>
<? } ?>
.....{기타 게시판 내용 생략~} ....
write.skin.php 에 들어있는 라디오 체크버튼을 이용해서 위 4개중 하나를 선택하고
write_update.skin.php로 넘어가면 아래처럼 체크된 버튼에 따라 포인트를 삭제처리합니다.
----------------------
write_update.skin.php
----------------------
if($w != "u" && $wr_1) { // 처음 글등록시, '선택된 체크버튼'에 따라 포인트 삭제
if($wr_1 == 1) {
$point_del = -1000;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
if($wr_1 == 2) {
$point_del = -500;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
if($wr_1 == 3) {
$point_del = -100;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
}
게시판 글쓰기에서 wr_1 여유필드를 이용해서 위처럼 작업을 하여 저장하고 뷰화면출력까지 이상없이 잘됩니다.
도움을 필요로 하는것은 다름이 아니라, write.skin.php에서 위 라디오체크버튼과 관련한 부분입니다.
write.skin.php 에서 처음 한번만 라디오버튼을 위처럼 선택할수 있게하고
'글수정' 모드에서는 체크된 라디오버튼을 임의로 다른것으로 바꿀수 없게 하고 싶습니다.
글작성은 현재 '회원'만 가능한 상태이고,
관리자를 제외한..... 회원이라 하더라도 수정모드에서는 다른 내용(제목,내용..)은
수정이 가능해도 위의 '라디오체크버튼'은 재수정이 안되도록 하는 스크립터같은걸 구현해야하는데
잘되지를 않네요..
if($w != "u") ... 형태로 zzz님께서 도움글을 주셨는데, 이렇게 하니
라디오체크박스가 다 풀려버려서 그마저도 안되는군요.
결국 스크립터를 이용해서 제어를 해야할거 같다는 생각이 들긴 구현을 못하겠습니다.
스크립터작성에 능하시거나, 위 내용을 이해하시고 다른 방법을 아신다면 ..리플을 좀 부탁드리겠습니다.
꾸벅~
p.s; 요즘 질문을 도배를 하는거 같아 눈치가 많이 보이네요..죄송합니다. -_-;;
댓글 전체
위에 예문에서........아래와 같은때에 hidden 을 한개 만들어 줘야 그 값을 갖고 오지 않을까요?
<? } else {
if ($write[wr_1] == 1) echo "급매물";
elseif ($write[wr_1] == 2) echo "추천매물";
elseif ($write[wr_1] == 3) echo "굵게표시";
elseif ($write[wr_1] == 4) echo "사용안함";
}
?>
이렇게 되어 있는 것을......................
<? } else {
echo "<input type=hidden name='wr_1' value='{$write[wr_1]}'>"; // 이부분을 추가해야 되지 싶은데요...
if ($write[wr_1] == 1) echo "급매물";
elseif ($write[wr_1] == 2) echo "추천매물";
elseif ($write[wr_1] == 3) echo "굵게표시";
elseif ($write[wr_1] == 4) echo "사용안함";
}
?>
<? } else {
if ($write[wr_1] == 1) echo "급매물";
elseif ($write[wr_1] == 2) echo "추천매물";
elseif ($write[wr_1] == 3) echo "굵게표시";
elseif ($write[wr_1] == 4) echo "사용안함";
}
?>
이렇게 되어 있는 것을......................
<? } else {
echo "<input type=hidden name='wr_1' value='{$write[wr_1]}'>"; // 이부분을 추가해야 되지 싶은데요...
if ($write[wr_1] == 1) echo "급매물";
elseif ($write[wr_1] == 2) echo "추천매물";
elseif ($write[wr_1] == 3) echo "굵게표시";
elseif ($write[wr_1] == 4) echo "사용안함";
}
?>
하루종일 앉아서 온갖 방법을 다 동원해봤지만...해결이 안되고..한가지 문제만 발견해서
혹시 다시 도움이라도 받았으면 해서 ..... 죄송합니다.
g6man님께서 위에 주신 팁으로 열심히 테스트를 해보 결과,
처음 글작성시, 라디오버튼값을 선택하고 , 저장, 그리고 화면에 뿌려주는 문제까지는 정상적으로 이루어지고
또 처음 수정모드에 들어가서 봤을때까지도 정상적으로 보입니다.
그러나 이 '수정'모드으 화면상태에서 아무것도 손대지 않고 '확인'을 하고 나오면
라디오 버튼의 체크값이 빠져버리는 것이였습니다.
몇십번을 테스트하다가 문득, db를 들여다 보게 되었습니다.
그결과, 확인할수 있었는게...
처음 글작성했을때는 wr_1에 값이 정상적으로 들어갔습니다.
그러나 게시글 수정모드로 들어갔다가 나오기만 하면 wr_1 에 값이 비어버리더군요.
결국, 님이 주신 팁자체의 문제가 아니라
write_update.skin.php나 기타 구문에서 '수정'에서 저장처리를 할때
라디오 버튼값을 그대로 전달해주지 못해서 생기는 문제인거 같다고 생각이 되네요.
이렇게 원인은 이제 알게 되었는데 이걸 또 어떻게 구현해야할지를 몰라서
도움을 좀 주셨으면 해서 다시 글을 적게 되었습니다.
--------------------------------------------------------------------
write.skin.php 에서 라디오 체크화면은 님의 팁처럼 아래와 같습니다.
--------------------------------------------------------------------
<? if ($is_member && !$wr_id && $w != "u" ) { ?>
<input type=hidden name=notice value=""> <!--급매물을 공지사항으로 처리하기위해 필요함--//-->
<table>
<tr><td>
<input type=radio name='wr_1' value='1' <? if($write[wr_1] == "1") echo "checked"; ?>> 급매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='2' <? if($write[wr_1] == "2") echo "checked"; ?>> 추천매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='3' <? if($write[wr_1] == "3") echo "checked"; ?>> 굵게표시
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='4' <? if($write[wr_1] == "4") echo "checked"; ?>> 사용안함
</td></tr>
</table>
<? } else {
if ($write[wr_1] == 1) echo "급매물";
elseif ($write[wr_1] == 2) echo "추천매물";
elseif ($write[wr_1] == 3) echo "굵게표시";
elseif ($write[wr_1] == 4) echo "사용안함";
}
?>
그리고 부가적으로 ....(여태 질문중에 빠져있었던거 하나가 있는데)
write.skin.php 아래 기존 스크립터에 하나를 더 추가한게 있는데
뭐냐 하면 ..라디오 버튼에서 처음버튼(급매물)을 선택했을때, 저기 위에 hidden값으로
처리한 공지사항 폼에 자동으로 체크되도록 값을 넘겨주는 겁니다.
(이건 저장하는 문제와 별문제가 없지않나싶지만 혹시나 해서..적습니다)
function fwrite_check(f)
{
.... {기타 내용}
if(f.wr_1) {
if (f.wr_1[0].checked==true) { // '우선출력'의 라디오버튼(급매물)선택시, 공지사항 자동체크
document.fwrite.notice.value = "1";
document.fwrite.notice.value.checked;
}
}
... (기타 내용)
}
여기까지가 write.skin.php 부분이고 아래는 write_updtae.skin.php 부분입니다.
--------------------------------------------------------------------
write_update.skin.php
--------------------------------------------------------------------
if($w != "u" && $wr_1) { // 처음 글등록시, '옵션'이 선택될 경우 해당 포인트 삭제 (board.php 포인트관련 참조)
if($wr_1 == 1) {
$point_del = -1000;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
if($wr_1 == 2) {
$point_del = -500;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
if($wr_1 == 3) {
$point_del = -100;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
}
여기서 db로 wr_1 값을 넘길때 문제가 생기는거 같습니다.
제일 위에 말씀드린바와 같이
처음 작성시에는 wr_1에 선택한 값이 뭐든간에 정상적으로 db에 저장이 되고
출력도 정상적으로 되지만,
'수정'으로 들어갔다가 '확인'을 누르고
빠져나오게 되면 wr_1 에 값이 비어버리는 것입니다.
수정에 들어갔다가 나올때 db에 wr_1의 값을 제대로 전달만 한다면
문제가 해결될거 같습니다..
좀 도와주세요..
혹시 다시 도움이라도 받았으면 해서 ..... 죄송합니다.
g6man님께서 위에 주신 팁으로 열심히 테스트를 해보 결과,
처음 글작성시, 라디오버튼값을 선택하고 , 저장, 그리고 화면에 뿌려주는 문제까지는 정상적으로 이루어지고
또 처음 수정모드에 들어가서 봤을때까지도 정상적으로 보입니다.
그러나 이 '수정'모드으 화면상태에서 아무것도 손대지 않고 '확인'을 하고 나오면
라디오 버튼의 체크값이 빠져버리는 것이였습니다.
몇십번을 테스트하다가 문득, db를 들여다 보게 되었습니다.
그결과, 확인할수 있었는게...
처음 글작성했을때는 wr_1에 값이 정상적으로 들어갔습니다.
그러나 게시글 수정모드로 들어갔다가 나오기만 하면 wr_1 에 값이 비어버리더군요.
결국, 님이 주신 팁자체의 문제가 아니라
write_update.skin.php나 기타 구문에서 '수정'에서 저장처리를 할때
라디오 버튼값을 그대로 전달해주지 못해서 생기는 문제인거 같다고 생각이 되네요.
이렇게 원인은 이제 알게 되었는데 이걸 또 어떻게 구현해야할지를 몰라서
도움을 좀 주셨으면 해서 다시 글을 적게 되었습니다.
--------------------------------------------------------------------
write.skin.php 에서 라디오 체크화면은 님의 팁처럼 아래와 같습니다.
--------------------------------------------------------------------
<? if ($is_member && !$wr_id && $w != "u" ) { ?>
<input type=hidden name=notice value=""> <!--급매물을 공지사항으로 처리하기위해 필요함--//-->
<table>
<tr><td>
<input type=radio name='wr_1' value='1' <? if($write[wr_1] == "1") echo "checked"; ?>> 급매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='2' <? if($write[wr_1] == "2") echo "checked"; ?>> 추천매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='3' <? if($write[wr_1] == "3") echo "checked"; ?>> 굵게표시
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='4' <? if($write[wr_1] == "4") echo "checked"; ?>> 사용안함
</td></tr>
</table>
<? } else {
if ($write[wr_1] == 1) echo "급매물";
elseif ($write[wr_1] == 2) echo "추천매물";
elseif ($write[wr_1] == 3) echo "굵게표시";
elseif ($write[wr_1] == 4) echo "사용안함";
}
?>
그리고 부가적으로 ....(여태 질문중에 빠져있었던거 하나가 있는데)
write.skin.php 아래 기존 스크립터에 하나를 더 추가한게 있는데
뭐냐 하면 ..라디오 버튼에서 처음버튼(급매물)을 선택했을때, 저기 위에 hidden값으로
처리한 공지사항 폼에 자동으로 체크되도록 값을 넘겨주는 겁니다.
(이건 저장하는 문제와 별문제가 없지않나싶지만 혹시나 해서..적습니다)
function fwrite_check(f)
{
.... {기타 내용}
if(f.wr_1) {
if (f.wr_1[0].checked==true) { // '우선출력'의 라디오버튼(급매물)선택시, 공지사항 자동체크
document.fwrite.notice.value = "1";
document.fwrite.notice.value.checked;
}
}
... (기타 내용)
}
여기까지가 write.skin.php 부분이고 아래는 write_updtae.skin.php 부분입니다.
--------------------------------------------------------------------
write_update.skin.php
--------------------------------------------------------------------
if($w != "u" && $wr_1) { // 처음 글등록시, '옵션'이 선택될 경우 해당 포인트 삭제 (board.php 포인트관련 참조)
if($wr_1 == 1) {
$point_del = -1000;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
if($wr_1 == 2) {
$point_del = -500;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
if($wr_1 == 3) {
$point_del = -100;
insert_point($member[mb_id], $point_del, "$board[bo_subject] $wr_id 등록", $bo_table, $wr_id, '등록');
}
}
여기서 db로 wr_1 값을 넘길때 문제가 생기는거 같습니다.
제일 위에 말씀드린바와 같이
처음 작성시에는 wr_1에 선택한 값이 뭐든간에 정상적으로 db에 저장이 되고
출력도 정상적으로 되지만,
'수정'으로 들어갔다가 '확인'을 누르고
빠져나오게 되면 wr_1 에 값이 비어버리는 것입니다.
수정에 들어갔다가 나올때 db에 wr_1의 값을 제대로 전달만 한다면
문제가 해결될거 같습니다..
좀 도와주세요..
잘 안되는군요...
수정모드로 다시 들어가서 아무것도 건드리지 않고 '확인'을 눌렀는데..
다시 라디오 버튼이 풀려 버리는군요
수정모드로 다시 들어가서 아무것도 건드리지 않고 '확인'을 눌렀는데..
다시 라디오 버튼이 풀려 버리는군요
<? if ($is_member && !$wr_id && $w != "u" ) { ?>
<table>
<tr><td>
<input type=radio name='wr_1' value='1' <? if($write[wr_1] == "1") echo "checked"; ?>> 급매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='2' <? if($write[wr_1] == "2") echo "checked"; ?>> 추천매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='3' <? if($write[wr_1] == "3") echo "checked"; ?>> 굵게표시
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='4' <? if($write[wr_1] == "4") echo "checked"; ?>> 사용안함
</td></tr>
</table>
<? } else {
if ($write[wr_1] == 1) echo "급매물";
elseif ($write[wr_1] == 2) echo "추천매물";
elseif ($write[wr_1] == 3) echo "굵게표시";
elseif ($write[wr_1] == 4) echo "사용안함";
}
?>
수정된 내용입니다.
<table>
<tr><td>
<input type=radio name='wr_1' value='1' <? if($write[wr_1] == "1") echo "checked"; ?>> 급매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='2' <? if($write[wr_1] == "2") echo "checked"; ?>> 추천매물
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='3' <? if($write[wr_1] == "3") echo "checked"; ?>> 굵게표시
</td></tr>
<tr><td>
<input type=radio name='wr_1' value='4' <? if($write[wr_1] == "4") echo "checked"; ?>> 사용안함
</td></tr>
</table>
<? } else {
if ($write[wr_1] == 1) echo "급매물";
elseif ($write[wr_1] == 2) echo "추천매물";
elseif ($write[wr_1] == 3) echo "굵게표시";
elseif ($write[wr_1] == 4) echo "사용안함";
}
?>
수정된 내용입니다.
수정일때는 일반 쓰기와는 달리 $wr_id와 $w = "u" 값을 가지고 있으니
위 값이 있다면 고정된 값을 보여주면 될 것으로 생각됩니다.
if ($wr_id && $w == "u") { echo "일반 값" }
else { echo "라디오 버튼" }
뭐 이런식으로 말이죠...
위 값이 있다면 고정된 값을 보여주면 될 것으로 생각됩니다.
if ($wr_id && $w == "u") { echo "일반 값" }
else { echo "라디오 버튼" }
뭐 이런식으로 말이죠...
이것과 연관된 문제입니다.
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=2442
글쓰기할때는 값을 선택해야 되지 않겠습니까.
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=2442
글쓰기할때는 값을 선택해야 되지 않겠습니까.
그냥 라디오버튼이 아니고 값을 직접 뿌려주면 안되는건가요?
그렇다면 아주 쉬운데...
그렇다면 아주 쉬운데...