환경설정 여분필드 문의
본문
안녕하세요
환경설정에서
여분필드 cf_11~cf_20 까지 추가해서 사용중입니다.
input 방식이 아닌 textarea로 입력을 받아서 사용중입니다.
<textarea name="cf_<?php echo $i ?>" id="cf_<?php echo $i ?>"><?php echo get_text($config['cf_'.$i]) ?></textarea>
잘되는줄 알았으나 DB에는 일정값만 들어가길래
DB에서 종류를 text,longtext 전부 다 변경해봐도
몇줄 내용 들어가다가 중간에 짤려버리네요..ㅠ
원인이 뭔지 도저히 못찾겠습니다..
config_form_update 에서 cf_11 ~ cf20 까지 전부 추가는 해놓았습니다.
cf_11_subj ~cf_20_subj 까지도 혹시 몰라 추가해놨으나
증상은 동일하네요.ㅠ
답변 4
<textarea name="cf_<?php echo $i; ?>" id="cf_<?php echo $i; ?>"><?php echo $config['cf_{$i}']; ?></textarea>
이렇게 해보세요
잘리고 난 후 길이가 다 같은지 살펴 보세요.
특정 문자 앞에서 잘리는지...
config_form_update.php에
substr 같은 것으로 문자열을 자르는 것이 있는지 살펴 보세요.
또는
$cf_11_subj=sql_real_escape_string( $cf_11_subj);
이렇게 sql 실행전에 문자열 처리도 한번 해 주시고요.
뭔가 오류인지 모를때는 새로 그누보드를 설치해보시고
해당 부분만 수정하여 다시 작동시켜보는게 제일 좋습니다.
특히 환경설정 update 시 기존 textarea 값에 필터링이 되어있다면
나중에 추가하신 textarea 에도 함께 적용될수 있습니다.
이 부분은 update 에만 적용되는 것이 아니라 lib 이나 js 등 해당 부분을 모두 채크 해야합니다.
다시 전체를 읽어 보니,
update 문에 에러가 있는지도 한번 살펴 봐야겠군요.
adm/"config_form_update.php" 에서
sql_query($sql, true); exit; // 여기서 이렇게 바꾸고 에러 메시지가 있는지 살펴 보세요.
//sql_query(" OPTIMIZE TABLE `$g5[config_table]` ");
if( isset($_POST['cf_bbs_rewrite']) ){
g5_delete_all_cache();
}
run_event('admin_config_form_update');
update_rewrite_rules();
goto_url('./config_form.php', false);