글 수정시 select가 풀립니다. 해결책 좀 일러주세요. 정보
그누보드 글 수정시 select가 풀립니다. 해결책 좀 일러주세요.본문
안녕하세요.
PHP에 대해 전혀 모르고 그누보드 3.xx버전을 쓰고 있습니다.
스킨도 그냥 받아서 약간 수정해서 쓰는데 제가 받은 스킨은 제로섬님의 확장된 게시판 스킨입니다.
스킨은 문제없이 잘 돌아갑니다.
문제는 스킨에서 확장된 부분입니다.
확장된 부분 중에 wr_1이 있는데 그것을 select문을 이용하여 쓰고 있습니다. 지역을 나누기 위해서 요.
그런데 글을 저장하고 난후 수정할 것이 있어 수정을 하려고 들어가면 다른 코드는 다 있는데 select문을 쓴 부분만이 풀려버립니다.
그문제를 해결하려고 게시판을 뒤져도 뾰족한 답이 안나옵니다.
비슷한 경험에 답변이 있긴 한데 제가 알기에는 너무 어렵습니다.
어느 부분을 고쳐야 하는지요.
간단한 힌트라도 좋습니다.
아래소스는 현재 쓰고 있는 gbform.php 입니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (!$skin_no) $skin_no = "01";
?>
<link rel='stylesheet' href='<?=$board_skin?>/style<?=$skin_no?>.css' type='text/css'>
<table width='<?=$width?>' align=center border="1" cellspacing="0" cellpadding="0" bordercolor="FFFFFF">
<form name=fgbform method=post action='./?doc=bbs/gbupdate.php' enctype='multipart/form-data' onsubmit='return fgbform_check(this);'>
<input type=hidden name=w value='<?=$w?>'>
<input type=hidden name=bo_table value='<?=$bo_table?>'>
<input type=hidden name=wr_id value='<?=$wr_id?>'>
<input type=hidden name=sselect value='<?=$sselect?>'>
<input type=hidden name=stext value='<?=$stext?>'>
<input type=hidden name=section value='<?=$section?>'>
<input type=hidden name=ssort value='<?=$ssort?>'>
<input type=hidden name=sorder value='<?=$sorder?>'>
<input type=hidden name=page value='<?=$page?>'>
<input type=hidden name=wr_name value='<?=$name?>'>
<input type=hidden name=wr_passwd value='<?=$passwd_required?>'>
<input type=hidden name=E-MAIL value='<?=$email?>'>
<?
if ($w == "u")
$title_img = "title_edit.gif";
else if ($w == "r") {
$title_img = "title_reply.gif";
// 텍스트일 경우 원글을 보여준다.
if ($write[wr_html] == false)
$content = ">\n> " . preg_replace("/\n/", "\n> ", get_text($write[wr_content], 0)) . "\n> \n\n";
} else
$title_img = "title_write.gif";
?>
<tr>
<td width="150" height="25" align="center" bgcolor="EEEEEE">매장명</td>
<td>
<input type=text name='wr_subject' required itemname='상호명' value='<?=$subject?>' class='input' size=35>
</td>
<td align="center" bgcolor="EEEEEE">주 소</td>
<td>
<input type="text" name="wr_4" value='<?=$write[wr_4]?>' size=35>
</td>
</tr>
<? if ($is_category) { ?><tr><td height=25 align=center bgcolor="EEEEEE"> <span class=tb>C</span>ategory</td><td> <select name=ca_id class=is required itemname='업종선택'><option value=''>업종 선택<?=$category_option?></select></td></tr>
<tr><td colspan=2 height=1 background='<?=$board_skin?>/dotline.gif'></td></tr><? } ?>
<tr>
<td width="150" height="25" align="center" bgcolor="EEEEEE">지역</td>
<td>  
<select name='wr_1' class=is required itemname='지역' >
<option value=''>지역선택</option><option value='시지역'>시지역</option><option value='군지역'>군지역</option></select>
</td>
</td>
<td width="150" align="center" bgcolor="EEEEEE">상세 위치</td>
<td>  <input type=text name='wr_2' itemname='상세 위치' value='<?=$write[wr_2]?>' size=35 maxlength=50></td>
</td>
</tr>
<tr>
<td height="25" align="center" bgcolor="EEEEEE">대표전화</td>
<td> <input type="text" name="wr_3" value='<?=$write[wr_3]?>' size=15> 지역번호필수
</td>
<!-- <td align="center" bgcolor="EEEEEE">홈페이지</td>
<td>
<input type="text" name="wr_4" value='<?=$write[wr_4]?>' size=40>
</td> -->
</tr>
<tr>
<td height="200" align="center" bgcolor="EEEEEE">내용</td>
<td colspan="3">
<textarea name='wr_content' style='word-break:break-all;' rows=12 cols=88 itemname='내용' class='textarea lh'><?=$content?></textarea>
</td>
</tr>
<? if ($is_upload) { ?>
<? for ($i=1; $i<=$cfg[file_count]; $i++) { ?>
<tr class='ht'>
<td>파일 #<?=$i?></td>
<td>
<input type=file name='wr_file<?=$i?>' itemname='파일 #<?=$i?>' class='input w99'>
<?=$file[$i][delete]?>
<? if ($i == 1) { echo "<br>※ $upload_max_filesize 이하만 업로드 가능"; } ?>
</td>
</tr>
<? } ?>
<? } ?>
<tr><td colspan="4" height="40" align="center">
<input name=btnsubmit type=image src='<?=$board_skin?>/text_save.gif' alt='확인' border=0 align=absmiddle></td></tr>
</form>
<script language='Javascript'>
var f = document.fgbform;
if (f.w.value == '' && typeof(f.wr_subject) != 'undefined') {
f.wr_subject.focus();
} else if (f.w.value == 'u') {
f.wr_subject.focus();
if (typeof(f.ca_id) != 'undefined') {
f.ca_id.value = '<?=$ca_id?>';
}
}
function html_auto_br(obj)
{
if (obj.checked) {
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
if (result) {
obj.value = 2;
} else {
obj.value = 1;
}
} else {
obj.value = 0;
}
}
<? if ($is_imagesave) { ?>
var imagewin;
function imagewindowopen()
{
imagewin = window.open('./?doc=bbs/imagesave.php', 'imgsave', 'left=50,top=50,width=516,height=500,scrollbars=1,status=1');
}
function imagewindowclose()
{
if (imagewin) {
imagewin.close();
}
}
window.onunload = imagewindowclose;
<? } ?>
function fgbform_check(f)
{
/*
** 3.30 에서 셀렉트박스 필수선택 검사를 하므로 이 루틴은 주석 처리합니다.
if (typeof(f.ca_id) != 'undefined') {
if (f.ca_id.value == '') {
alert('분류를 선택하세요.');
f.ca_id.focus();
return false;
}
}
*/
return true;
}
</script>
</table>
부탁드립니다.
PHP에 대해 전혀 모르고 그누보드 3.xx버전을 쓰고 있습니다.
스킨도 그냥 받아서 약간 수정해서 쓰는데 제가 받은 스킨은 제로섬님의 확장된 게시판 스킨입니다.
스킨은 문제없이 잘 돌아갑니다.
문제는 스킨에서 확장된 부분입니다.
확장된 부분 중에 wr_1이 있는데 그것을 select문을 이용하여 쓰고 있습니다. 지역을 나누기 위해서 요.
그런데 글을 저장하고 난후 수정할 것이 있어 수정을 하려고 들어가면 다른 코드는 다 있는데 select문을 쓴 부분만이 풀려버립니다.
그문제를 해결하려고 게시판을 뒤져도 뾰족한 답이 안나옵니다.
비슷한 경험에 답변이 있긴 한데 제가 알기에는 너무 어렵습니다.
어느 부분을 고쳐야 하는지요.
간단한 힌트라도 좋습니다.
아래소스는 현재 쓰고 있는 gbform.php 입니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if (!$skin_no) $skin_no = "01";
?>
<link rel='stylesheet' href='<?=$board_skin?>/style<?=$skin_no?>.css' type='text/css'>
<table width='<?=$width?>' align=center border="1" cellspacing="0" cellpadding="0" bordercolor="FFFFFF">
<form name=fgbform method=post action='./?doc=bbs/gbupdate.php' enctype='multipart/form-data' onsubmit='return fgbform_check(this);'>
<input type=hidden name=w value='<?=$w?>'>
<input type=hidden name=bo_table value='<?=$bo_table?>'>
<input type=hidden name=wr_id value='<?=$wr_id?>'>
<input type=hidden name=sselect value='<?=$sselect?>'>
<input type=hidden name=stext value='<?=$stext?>'>
<input type=hidden name=section value='<?=$section?>'>
<input type=hidden name=ssort value='<?=$ssort?>'>
<input type=hidden name=sorder value='<?=$sorder?>'>
<input type=hidden name=page value='<?=$page?>'>
<input type=hidden name=wr_name value='<?=$name?>'>
<input type=hidden name=wr_passwd value='<?=$passwd_required?>'>
<input type=hidden name=E-MAIL value='<?=$email?>'>
<?
if ($w == "u")
$title_img = "title_edit.gif";
else if ($w == "r") {
$title_img = "title_reply.gif";
// 텍스트일 경우 원글을 보여준다.
if ($write[wr_html] == false)
$content = ">\n> " . preg_replace("/\n/", "\n> ", get_text($write[wr_content], 0)) . "\n> \n\n";
} else
$title_img = "title_write.gif";
?>
<tr>
<td width="150" height="25" align="center" bgcolor="EEEEEE">매장명</td>
<td>
<input type=text name='wr_subject' required itemname='상호명' value='<?=$subject?>' class='input' size=35>
</td>
<td align="center" bgcolor="EEEEEE">주 소</td>
<td>
<input type="text" name="wr_4" value='<?=$write[wr_4]?>' size=35>
</td>
</tr>
<? if ($is_category) { ?><tr><td height=25 align=center bgcolor="EEEEEE"> <span class=tb>C</span>ategory</td><td> <select name=ca_id class=is required itemname='업종선택'><option value=''>업종 선택<?=$category_option?></select></td></tr>
<tr><td colspan=2 height=1 background='<?=$board_skin?>/dotline.gif'></td></tr><? } ?>
<tr>
<td width="150" height="25" align="center" bgcolor="EEEEEE">지역</td>
<td>  
<select name='wr_1' class=is required itemname='지역' >
<option value=''>지역선택</option><option value='시지역'>시지역</option><option value='군지역'>군지역</option></select>
</td>
</td>
<td width="150" align="center" bgcolor="EEEEEE">상세 위치</td>
<td>  <input type=text name='wr_2' itemname='상세 위치' value='<?=$write[wr_2]?>' size=35 maxlength=50></td>
</td>
</tr>
<tr>
<td height="25" align="center" bgcolor="EEEEEE">대표전화</td>
<td> <input type="text" name="wr_3" value='<?=$write[wr_3]?>' size=15> 지역번호필수
</td>
<!-- <td align="center" bgcolor="EEEEEE">홈페이지</td>
<td>
<input type="text" name="wr_4" value='<?=$write[wr_4]?>' size=40>
</td> -->
</tr>
<tr>
<td height="200" align="center" bgcolor="EEEEEE">내용</td>
<td colspan="3">
<textarea name='wr_content' style='word-break:break-all;' rows=12 cols=88 itemname='내용' class='textarea lh'><?=$content?></textarea>
</td>
</tr>
<? if ($is_upload) { ?>
<? for ($i=1; $i<=$cfg[file_count]; $i++) { ?>
<tr class='ht'>
<td>파일 #<?=$i?></td>
<td>
<input type=file name='wr_file<?=$i?>' itemname='파일 #<?=$i?>' class='input w99'>
<?=$file[$i][delete]?>
<? if ($i == 1) { echo "<br>※ $upload_max_filesize 이하만 업로드 가능"; } ?>
</td>
</tr>
<? } ?>
<? } ?>
<tr><td colspan="4" height="40" align="center">
<input name=btnsubmit type=image src='<?=$board_skin?>/text_save.gif' alt='확인' border=0 align=absmiddle></td></tr>
</form>
<script language='Javascript'>
var f = document.fgbform;
if (f.w.value == '' && typeof(f.wr_subject) != 'undefined') {
f.wr_subject.focus();
} else if (f.w.value == 'u') {
f.wr_subject.focus();
if (typeof(f.ca_id) != 'undefined') {
f.ca_id.value = '<?=$ca_id?>';
}
}
function html_auto_br(obj)
{
if (obj.checked) {
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
if (result) {
obj.value = 2;
} else {
obj.value = 1;
}
} else {
obj.value = 0;
}
}
<? if ($is_imagesave) { ?>
var imagewin;
function imagewindowopen()
{
imagewin = window.open('./?doc=bbs/imagesave.php', 'imgsave', 'left=50,top=50,width=516,height=500,scrollbars=1,status=1');
}
function imagewindowclose()
{
if (imagewin) {
imagewin.close();
}
}
window.onunload = imagewindowclose;
<? } ?>
function fgbform_check(f)
{
/*
** 3.30 에서 셀렉트박스 필수선택 검사를 하므로 이 루틴은 주석 처리합니다.
if (typeof(f.ca_id) != 'undefined') {
if (f.ca_id.value == '') {
alert('분류를 선택하세요.');
f.ca_id.focus();
return false;
}
}
*/
return true;
}
</script>
</table>
부탁드립니다.
댓글 전체
제가 급하면서 사정상 답변을 늦게 보았습니다. 죄송 ^^.
sjsjin님이 알려주시대로 하니까 잘됩니다. 홍승묵님이 알려주신대로 해도 되구요.^^ 너무나 감사합니다. 이제야 살았습니다. ㅋㅋ
항상 행복하시고 복받으세요.!!
sjsjin님이 알려주시대로 하니까 잘됩니다. 홍승묵님이 알려주신대로 해도 되구요.^^ 너무나 감사합니다. 이제야 살았습니다. ㅋㅋ
항상 행복하시고 복받으세요.!!
<script language='javascript'>document.fgbform.wr_1.value = '<?=$write[wr_1]?>';</script>를 적당한 곳에 삽입하셔도....될까요?
지역부분을 아래처럼 변경.
(만약 지역값이 아래처럼 시/군 만 들어가는게 아니라 상세한 지역명이 들어가는 경우는 아래 셀렉트박스에 모두 입력해 주고 입력값과 wr_1값이 같을 경우 selected 해주면 됩니다.)
// 수정전
<select name='wr_1' class=is required itemname='지역' >
<option value=''>지역선택</option><option value='시지역'>시지역</option><option value='군지역'>군지역</option></select>
// 수정후
<select name='wr_1' class=is required itemname='지역' >
<option value=''>지역선택</option>
<option value='시지역' <?if($write[wr_1]=='시지역') echo "selected"?>>시지역</option>
<option value='군지역' <?if($write[wr_1]=='군지역') echo "selected"?>>군지역</option></select>
(만약 지역값이 아래처럼 시/군 만 들어가는게 아니라 상세한 지역명이 들어가는 경우는 아래 셀렉트박스에 모두 입력해 주고 입력값과 wr_1값이 같을 경우 selected 해주면 됩니다.)
// 수정전
<select name='wr_1' class=is required itemname='지역' >
<option value=''>지역선택</option><option value='시지역'>시지역</option><option value='군지역'>군지역</option></select>
// 수정후
<select name='wr_1' class=is required itemname='지역' >
<option value=''>지역선택</option>
<option value='시지역' <?if($write[wr_1]=='시지역') echo "selected"?>>시지역</option>
<option value='군지역' <?if($write[wr_1]=='군지역') echo "selected"?>>군지역</option></select>