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

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

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

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

 

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

 

<?php
if ($w =='') {
    $wr_write = get_write($write_table, $wr_id);//원글정보
    $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에 문제가 있는지 살펴 보세요.

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

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

로그인