[해결중] 글쓰기시 확장필드쪽에 값이 안들어가고, 수정할때만 값이 들어가는데
온라인의강자
39.♡.208.68
2024-11-01 02:27
128
1
총 채택 포인트
100 포인트
채택된 회원에게 주는 후원 포인트
50 포인트
채택 후 작성자(온라인의강자) 회수 포인트
50 포인트
본문
지금 글쓰기시 확장필드쪽에 값이 안들어가고, 수정할때만 값이 들어가거든요.
근데 처음에는 글쓰기시 확장필드쪽에 값이 들어갔는데, 지금은 수정할때만 값이 들어갑니다 ㅜㅜ
그래서 코어쪽 코드를 살펴보니,
/eyoom/core/board/write\_update.skin.php 쪽 388번째줄에
/\*\* \* 확장필드 \*/ if ($bo\_extend) { $j=0; $ex\_set = array(); foreach ($exbo as $ex\_fname => $exinfo) { unset($ex\_value); switch ($exinfo['ex\_form']) { case 'text': case 'radio': case 'select': if (isset($\_POST[$ex\_fname]) && settype($\_POST[$ex\_fname], 'string')) { $ex\_value= trim($\_POST[$ex\_fname]); } break; case 'checkbox': case 'address': if (isset($\_POST[$ex\_fname]) && settype($\_POST[$ex\_fname], 'array')) { $ex\_value= implode\('^\|^'\, $\_POST\[$ex\_fname\]\); } break; case 'textarea': if (isset($\_POST[$ex\_fname])) { $ex\_value = substr(trim($\_POST[$ex\_fname]),0,65536); $ex\_value = preg\_replace("#[\\\\\]+$#", '', $ex\_value); } if (substr\_count($ex\_value, '') > 50) { alert("{$exinfo['ex\_subject']}에 올바르지 않은 코드가 다수 포함되어 있습니다."); exit; } break; } $ex\_set[$j] = " {$ex\_fname} = '{$ex\_value}' "; $j++; } if (count($ex\_set)>0) sql\_query("update {$write\_table} set " . implode(',', $ex\_set) ." where wr\_id='{$wr\_id}'"); } 확장필드를 업데이트해주는 코드가 있는데, $wr\_id 변수값을 출력해보니 0 이 나오더라구요! 중간에 어딘가가 잘못 만져서 뻑난건가? 싶어서 코드를 추적하려는데 아무리 찾아봐도 원인이 되는 부분을 찾을수 없습니다 ㅜㅜ 에러로그도 안나오구요. 혹시 저랑 비슷한 증상을 가지신 분 해결하셨다면 답변 부탁드립니다 ㅜㅜ
/\*\* \* 확장필드 \*/ if ($bo\_extend) { $j=0; $ex\_set = array(); foreach ($exbo as $ex\_fname => $exinfo) { unset($ex\_value); switch ($exinfo['ex\_form']) { case 'text': case 'radio': case 'select': if (isset($\_POST[$ex\_fname]) && settype($\_POST[$ex\_fname], 'string')) { $ex\_value= trim($\_POST[$ex\_fname]); } break; case 'checkbox': case 'address': if (isset($\_POST[$ex\_fname]) && settype($\_POST[$ex\_fname], 'array')) { $ex\_value= implode\('^\|^'\, $\_POST\[$ex\_fname\]\); } break; case 'textarea': if (isset($\_POST[$ex\_fname])) { $ex\_value = substr(trim($\_POST[$ex\_fname]),0,65536); $ex\_value = preg\_replace("#[\\\\\]+$#", '', $ex\_value); } if (substr\_count($ex\_value, '') > 50) { alert("{$exinfo['ex\_subject']}에 올바르지 않은 코드가 다수 포함되어 있습니다."); exit; } break; } $ex\_set[$j] = " {$ex\_fname} = '{$ex\_value}' "; $j++; } if (count($ex\_set)>0) sql\_query("update {$write\_table} set " . implode(',', $ex\_set) ." where wr\_id='{$wr\_id}'"); } 확장필드를 업데이트해주는 코드가 있는데, $wr\_id 변수값을 출력해보니 0 이 나오더라구요! 중간에 어딘가가 잘못 만져서 뻑난건가? 싶어서 코드를 추적하려는데 아무리 찾아봐도 원인이 되는 부분을 찾을수 없습니다 ㅜㅜ 에러로그도 안나오구요. 혹시 저랑 비슷한 증상을 가지신 분 해결하셨다면 답변 부탁드립니다 ㅜㅜ
댓글목록1
온라인의강자님의 댓글