테스트 사이트 - 개발 중인 베타 버전입니다

특수문자 ' <> 이게 들어가면 정상 출력이 안돼요. 채택완료

더블유지 3년 전 조회 1,436

https://sir.kr/g5_tip/7284" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/g5_tip/7284

 

위 자동댓글 코드를 이용해서, 여분필드 9번에 입력된 내용이 나오도록 아래와 같이 사용중인데요.

 

$wr_write_content = $config['cf_9']; //댓글내용     $wr_write_password = sql_password($g5[server_time]);//패스워드     $wr_write_cname = "test";//댓글 등록자명     $wr_write_mbid = "admin";//댓글 아이디 사용자     $sql = " insert into $write_table                 set ca_name = '$wr_write[ca_name]',                     wr_num = '$wr_write[wr_num]',                     wr_parent = '$wr_id',                     wr_is_comment = '1',                     wr_comment = '1',                     wr_content = '$wr_write_content',                     mb_id = '$wr_write_mbid',                     wr_password = '$wr_write_password',                     wr_name = '$wr_write_cname',                     wr_datetime = '".G5_TIME_YMDHIS."',                     wr_ip = '000.000.000.000' ";     sql_query($sql);

    // 원글에 코멘트수 증가     sql_query(" update $write_table set wr_comment = wr_comment + 1 where wr_id = '$wr_id' ");     // 코멘트 1 증가     sql_query(" update $g5[board_table] set bo_count_comment = bo_count_comment + 1 where bo_table = '$bo_table' ");  } ?>

 

 

 

문제는 여분필드9번(cf_9)의 내용에 특수문자( ' or <> )가 들어가면 내용 전체가 입력되지는 않고 코멘트 1만 증가하는 문제가 있어서요.

 

' 이게 들어가면 내용 전체 입력 안되고 <> 이게 들어가면 < 이 괄호시작 전까지만 출력됩니다.

 

여분필드에 특수문자 저장까지는 잘되는 것으로 보여요.

 

특수 문자 들어가도 잘 출력되게 하려면 어떻게 해야 할지요.

 

 

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

답변 2개

플라이
3년 전

$wr_write_content= htmlspecialchars($config['cf-9']);

 

이렇게 적용해서 처리해 보세요

 

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

답변에 대한 댓글 2개

더블유지
3년 전
이것도 역시 안되네요 orz...
플라이
3년 전
이렇게도 안되시면 쿼리를 찍어 직접 쿼링을 해서 실행해 보시는걸 추천드립니다.

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

//    $wr_write_content = $config['cf_9']; //댓글내용

 

$wr_write_content= sql_real_escape_string( $config['cf-9']);

이렇게 해보세요.     $wr_write_password = sql_password($g5[server_time]);//패스워드 ...     $sql = " insert into $write_table  set ...  wr_content = '$wr_write_content', ...

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

답변에 대한 댓글 2개

더블유지
3년 전
안되네요 ㅠ
엑스엠엘
3년 전
sql_query( $sql, true);
exit;
이렇게 해서 query에 문제가 있는지 살펴 보세요.

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

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

로그인