2026, 새로운 도약을 시작합니다.

여분필드를 53번까지 추가하기위해 진행해보았습니다. 채택완료

여분필드를 53번까지 추가하기위해 진행해보았습니다.

phpadmin에서 테이블에 wr_1~10까지의 구조와 같게 11부터 53까지 추가하였습니다.

3543063980_1624433719.9839.png

그 후 게시판 스킨 폴더에 write_update.skin.php파일이 있어,

Copy

이렇게 추가를 한 상태입니다.

그런데 게시판에 글작성을 하고 뷰페이지와 수정하게 되면 여분필드의 선택된 값들이 이상하게 뜨고 있어서요...

3543063980_1624433832.3738.png

이런식으로 오류가 뜨는 상태인데, 문제가 무었인지 알 수 있을까요...? 

답변 5개

채택된 답변
+20 포인트

write_update.php 에서 alert 하고 goto_url 부분 주석처리하시고
print_r($_POST); 하셔서 값이 정상적으로 오는지 확인하셔야 할 듯해요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

if ($file_upload_msg)
alert($file_upload_msg, $redirect_url);
else
//goto_url($redirect_url);
print_r($_POST);

?>

이렇게 말씀이실까요?
네. 그리고 보니까 ㅡㅡ;;;;; write_update.skin.php 에 넣으셨네요.
아마 wr_11~50 값이 전달이 안될겁니다. write_update.php 파일이 아니니깐요.

wr_11 = '".$_POST['wr_11']."',
wr_12 = '".$_POST['wr_12']."',
wr_13 = '".$_POST['wr_13']."',
...

이런식으로 변경하시거나 아까 제가 드린 50번까지 소스를 write_update.skin.php 에 응용하셔서 추가해보세요.

wr_11 = '".$_POST['wr_11']."',

이렇게 저장하셔도 되긴 될겁니다. 제가 아까 보내드린 소스는 $wr_11 이렇게 짧게 만들기 위해 그누보드에 기본 내장된 거여서요.
아 어떤말씀이신지알거같아요....ㅠ 해결점 찾을 수 있을거같아요 너무감사합니다 ㅎ

댓글을 작성하려면 로그인이 필요합니다.

* number_format() 함수 관련 waning 은 파라미터에 숫자형태의 값이 아닌 문자열 형태의 값이 들어갔다는 의미입니다. number_format($view['wr_11']); 같이 썼다면.. $view['wr_11'] 로 변경해야 됩니다. $view['wr_11'] 이 "메이커/코딩" 인 경우..

* if($add_qry )sql_query("update $write_table set $add_qry where wr_id='$wr_id'"); 

는 삭제하는게 좋아 보이고..

* $wr_1 = "$hp1-$hp2-$hp3";

~

이하 코드는 

write_update.head.skin.php 에 

$wr_1 = "$hp1-$hp2-$hp3";

$wr_2 = "$tel1-$tel2-$tel3";

$wr_3 = "$ex_zip|$ex_addr1|$ex_addr2|$ex_addr3|$ex_jibeon";

의 내용으로만 넣는게 더 좋습니다. 

(write_update.php 에서 업데이트 3번을 추가로 하지 않아도 됩니다.)

/bbs/write_update.php 에서 $wr_1 ~ $wr_10 이 업데이트문에 반영되기 때문에..  write_update.head.skin.php 파일에서 변수만 정리해주면 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아 좋은 정보 감사합니다. 덕분에 해결점을 찾았습니다 감사합니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

수정만 50개를 저장하시려는건지 아니면 등록도 저렇게 하시려는건지
등록도 50개 전체를 저장하게 하시려는거면 insert 쪽도 건드려야 하지 않을까요?

그리고 number_format은 int 숫자에만 작동합니다.
한글,영어, 특수문자 전체 안되고 300000 이렇게 숫자만 입력해야 작동합니다.
숫자만 출력하시려면 explode 이용하셔서 분리하신다음에 특수문자 지우시고 number_format() 으로 출력하셔야 되요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

수정등록 둘다 입니다 ㅠㅠ

https://sir.kr/g5_skin/40596?sca=%EA%B2%8C%EC%8B%9C%ED%8C%90&sfl=wr_subject%7C%7Cwr_content&stx=%EA%B2%AC%EC%A0%81

여기 스킨을 참고하고 있습니다

댓글을 작성하려면 로그인이 필요합니다.

if($add_qry )sql_query("update $write_table set $add_qry where wr_id='$wr_id'");

는 작동하지 않습니다. 확인하세요

view.skin.php 내용에서  number_format 검색해서 확인해보세요

그것은 숫자외에 값이 들어오면 오류가 뜹니다

금액에  , 가 포함되서 디비에 저장했다면 그것을 지우거나, view.skin.php 에서 , 를 제거하는 작업을 먼저 해야합니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

[code]
<option value="42000,메이커/코딩" <? if($write['wr_11'] == "메이커/코딩") echo "selected"; ?>>메이커/코딩</option>
[/code]
옵션값이 이런식으로 되어있는데, 문제있는건가요..?
[code]
<option value="42000,메이커/코딩" <? if($write['wr_11'] == "메이커/코딩") echo "selected"; ?>>메이커/코딩</option>
[/code]
옵션값이 이런식으로 되어있는데, 문제있는건가요..?
DB를 확인해보니 값이아예 전달이 안되네요 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

view.skin.php 파일 183,215,227 라인에 에 number_format() 함수에서 값이 전달이 안된 상태인것 같습니다.


덤으로 /bbs/write_update.php 에 아래것도 $i<=50; 이렇게 수정해주셔야 할 것 같습니다.

for ($i=1; $i<=10; $i++) {
    $var = "wr_$i";
    $$var = "";
    if (isset($_POST['wr_'.$i]) && settype($_POST['wr_'.$i], 'string')) {
        $$var = trim($_POST['wr_'.$i]);
    }
}
 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

for ($i=1; $i<=10; $i++) {
$var = "wr_$i";
$$var = "";
if (isset($_POST['wr_'.$i]) && settype($_POST['wr_'.$i], 'string')) {
$$var = trim($_POST['wr_'.$i]);
}

이부분은 어디를 수정해야한다는 말씀이실까요? 함수전달이 왜 안되는지 이해가 안가서요 ㅠㅠ
for ($i=1; $i<=10; $i++) {
10을 50으로요
그래도 작동이 되지 않네요 ㅠㅠ
DB를 확인해보니 값이아예 전달이 안되네요 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고