시도 군구 수정할 때 입력 값이 나오지 않고 풀려 버립니다.
본문
시도 군구 수정할 때
입력 값이 나오지 않고 풀려 버립니다.
무슨 코드를 잘 못 넣었나요?
감사합니다
<< write.skin.php >>
wr_16, wr_17 여분필드 만들어서 사용중에 있습니다.
<!-- 시도/군구 수정시 값 입력 시작 -->
<?php if ($w == 'u'){?>
<input type="hidden" name="wr_16" value="<?php echo $write['wr_16']?>">
<input type="hidden" name="wr_17" value="<?php echo $write['wr_17']?>">
<?php }?>
<!-- 시도/군구 수정시 값 입력 끝 -->
<!-- 지역 시작 -->
<div class="form-group row mb-0">
<label class="col-sm-2 control-label" for="wr_16" style="color:#ff0000;">시/도 선택<strong class="sound_only">필수</strong></label>
<div class="col-sm-4">
<div class="input-group mb-0">
<select name="wr_16" id="wr_16" required class="form-control input-sm" onchange="categoryChange(this)">
<option value="">시/도 선택</option>
<option value="서울" <?php echo ($wr_16 == "서울" ) ? 'selected' : '' ; ?>>서울</option>
<option value="경기" <?php echo ($wr_16 == "경기" ) ? 'selected' : '' ; ?>>경기</option>
<option value="인천" <?php echo ($wr_16 == "인천" ) ? 'selected' : '' ; ?>>인천</option>
<option value="강원" <?php echo ($wr_16 == "강원" ) ? 'selected' : '' ; ?>>강원</option>
<option value="대전" <?php echo ($wr_16 == "대전" ) ? 'selected' : '' ; ?>>대전</option>
<option value="세종" <?php echo ($wr_16 == "세종" ) ? 'selected' : '' ; ?>>세종</option>
<option value="충남" <?php echo ($wr_16 == "충남" ) ? 'selected' : '' ; ?>>충남</option>
<option value="충북" <?php echo ($wr_16 == "충북" ) ? 'selected' : '' ; ?>>충북</option>
<option value="부산" <?php echo ($wr_16 == "부산" ) ? 'selected' : '' ; ?>>부산</option>
<option value="울산" <?php echo ($wr_16 == "울산" ) ? 'selected' : '' ; ?>>울산</option>
<option value="경남" <?php echo ($wr_16 == "경남" ) ? 'selected' : '' ; ?>>경남</option>
<option value="경북" <?php echo ($wr_16 == "경북" ) ? 'selected' : '' ; ?>>경북</option>
<option value="대구" <?php echo ($wr_16 == "대구" ) ? 'selected' : '' ; ?>>대구</option>
<option value="광주" <?php echo ($wr_16 == "광주" ) ? 'selected' : '' ; ?>>광주</option>
<option value="전남" <?php echo ($wr_16 == "전남" ) ? 'selected' : '' ; ?>>전남</option>
<option value="전북" <?php echo ($wr_16 == "전북" ) ? 'selected' : '' ; ?>>전북</option>
<option value="제주" <?php echo ($wr_16 == "제주" ) ? 'selected' : '' ; ?>>제주</option>
<option value="전국" <?php echo ($wr_16 == "전국" ) ? 'selected' : '' ; ?>>전국</option>
</select>
</div>
</div>
<label class="col-sm-2 control-label" for="wr_17">군/구 선택<strong class="sound_only">필수</strong></label>
<div class="col-sm-4">
<div class="input-group mb-0">
<select name="wr_17" id="wr_17" class="form-control input-sm" required>
<option <?php echo ($wr_17 == "<?php echo $wr_17; ?>" ) ? 'selected' : '' ;?>>군/구 선택</option>
</select>
</div>
</div>
</div>
<!-- 지역 끝 -->
</li>
<< write_update.skin.php >>
$sql11 = " update $write_table set wr_11 = '$wr_11' where wr_id = '$wr_id' ";
sql_query($sql11);
$sql12 = " update $write_table set wr_12 = '$wr_12' where wr_id = '$wr_id' ";
sql_query($sql12);
$sql13 = " update $write_table set wr_13 = '$wr_13' where wr_id = '$wr_id' ";
sql_query($sql13);
$sql14 = " update $write_table set wr_14 = '$wr_14' where wr_id = '$wr_id' ";
sql_query($sql14);
$sql15 = " update $write_table set wr_15 = '$wr_15' where wr_id = '$wr_id' ";
sql_query($sql15);
$sql16 = " update $write_table set wr_16 = '$wr_16' where wr_id = '$wr_id' ";
sql_query($sql16);
$sql17 = " update $write_table set wr_17 = '$wr_17' where wr_id = '$wr_id' ";
sql_query($sql17);
$sql18 = " update $write_table set wr_18 = '$wr_18' where wr_id = '$wr_id' ";
sql_query($sql18);
$sql19 = " update $write_table set wr_19 = '$wr_19' where wr_id = '$wr_id' ";
sql_query($sql19);
$sql20 = " update $write_table set wr_20 = '$wr_20' where wr_id = '$wr_id' ";
sql_query($sql20);
답변 2
if ($w == 'u' || $w == 'r') {
if ($write['wr_id']) {
// 가변 변수로 $wr_1 .. $wr_10 까지 만든다.
for ($i=1; $i<=10; $i++) {
$vvar = "wr_".$i;
$$vvar = $write['wr_'.$i];
}
} else {
alert("글이 존재하지 않습니다.\\n삭제되었거나 이동된 경우입니다.", G5_URL);
}
} else if ($w == '') { // 게시글 입력시에도 $wr_1 ~ $wr_10 변수 사용시 오류 나오지 않도록 가변변수 생성 (다온테마님,210806)
for ($i=1; $i<=10; $i++) {
$vvar = "wr_".$i;
$$vvar = '';
}
}
bbs/write.php 보시면
wr_10까지만 변수로 만드는 소스를 보실수 있습니다.
해당 소스 참고하시면 원인이 이해 되실것 같습니다.
소스를 보니...
수정을 할때 상단에 들어가 있는 hidden 값이 들어가 있어서 충돌이 될수 있을 듯 합니다.
===============================================
<!-- 시도/군구 수정시 값 입력 시작 -->
<?php if ($w == 'u'){?>
<input type="hidden" name="wr_16" value="<?php echo $write['wr_16']?>">
<input type="hidden" name="wr_17" value="<?php echo $write['wr_17']?>">
<?php }?>
<!-- 시도/군구 수정시 값 입력 끝 -->
=================================================== 삭제 처리 부분
어차피 수정을 하려고 하단에 select 값을 출력하고 있는데 상단에 hidden 값으로 값을 정해놓고 있으니
충돌되어서 안될 수 있습니다. 상단 소스 부분을 삭제하고 처리해보세요..