채택완료

특수문자 '가 "로 바뀌는건 어느부분인가요...?

5년 전 3,694

https://sir.kr/qa/376112

제가 전에 올렸던 질문글입니다.

 

크롬 개발자툴에서 

Copy
value="伊思[IT" s="" skin]프레스티지="" 로씨옹="" 진생데스까르고="" 140ml'=""

이렇게 찍히는데 띄워쓰기마다 ="" 가 붙어서 나오는 부분은 해결을 하였습니다. DB에 다시 값을 입력해보니 해당부분은 해결이 되었습니다. 

그런데 도저히 '가 "로 바뀌는 부분을 모르겠습니다. ㅠㅠ

그리고 대문자를 소문자로 바꾸는 곳은 어디인가요..?

아래는 출력부분 소스입니다. 

Copy
제품명_유형: "<label class='input'><p>한국어<input type='text' name='it_name[<?php echo $i; ?>]' id='it_name_<?php echo $i; ?>' value='<?php echo get_text($list[$i]['it_name']); ?>' required></p><p>중국어<input type='text' name='it_name_cn[<?php echo $i; ?>]' id='it_name_cn_<?php echo $i; ?>' value='<?php echo get_text($list[$i]['it_name_cn']); ?>' required></p><p>영어<input type='text' name='it_name_us[<?php echo $i; ?>]' id='it_name_us<?php echo $i; ?>' value='<?php echo get_text($list[$i]['it_name_us']); ?>' required></p></label> ~코드생략~~

Copy
value='<?php echo get_text($list[$i]['it_name']); ?>'

이렇게 되어있어서 혹시 function get_text 부분인가 싶어서 수정해보며 테스트보았지만 아무변화가 없더라구요.

Copy
value='<?php echo $list[$i]['it_name']; ?>'

이렇게도 해보았으나, 결과는 똑같았습니다. '가 "로 바뀌더라구요.. 이렇게된다면 어디에서 봐야할까요...

아래코드는 adm/eyoom_admin/theme/basic/skin/shop/itemlist.html.php의 해당 함수부분입니다.

Copy
!function () {
    var db = {
        deleteItem: function (deletingClient) {
            var clientIndex = $.inArray(deletingClient, this.clients);
            this.clients.splice(clientIndex, 1)
        },
        insertItem: function (insertingClient) {
            this.clients.push(insertingClient)
        },
        loadData  : function (filter) {
            return $.grep(this.clients, function (client) {
                return !(filter.체크 && !(client.체크.indexOf(filter.체크) > -1) )
            })
        },
        updateItem: function (updatingClient) {}
    };
    window.db    = db,
    db.clients   = [
        <?php for ($i=0; $i<count($list); $i++) { ?>
        {
            체크: "<input type='hidden' name='it_id[<?php echo $i; ?>]' value='<?php echo $list[$i]['it_id']; ?>' id='it_id_<?php echo $i; ?>'><label for='chk_<?php echo $i; ?>' class='checkbox'><input type='checkbox' name='chk[]' id='chk_<?php echo $i; ?>' value='<?php echo $i; ?>'><i></i></label>",
            관리: "<a href='<?php echo G5_ADMIN_URL; ?>/?dir=shop&amp;pid=itemform&amp;it_id=<?php echo $list[$i]['it_id']; ?>&amp;w=u&amp;ca_id=<?php echo $list[$i]['ca_id']; ?><?php echo $qstr ? '&amp;'.$qstr:''; ?>'><u>수정</u></a><a href='<?php echo G5_ADMIN_URL; ?>/?dir=shop&amp;pid=itemcopy&amp;it_id=<?php echo $list[$i]['it_id']; ?>&amp;ca_id=<?php echo $list[$i]['ca_id']; ?>&wmode=1' onclick='eb_modal(this.href); return false;' class='itemcopy margin-left-10'><u>복사</u></a><a href='<?php echo $list[$i]['href']; ?>' target='_blank' class='margin-left-10'><u>보기</u></a>",
            제품코드: "<a <?php if (!(G5_IS_MOBILE || $wmode)) { ?>href='<?php echo G5_ADMIN_URL; ?>/?dir=shop&amp;pid=itemform&amp;it_id=<?php echo $list[$i]['it_id']; ?>&amp;w=u&amp;wmode=1' onclick='eb_modal(this.href); return false;'<?php } else { ?>href='javascript:void(0);'<?php } ?>><i class='fas fa-external-link-alt color-light-grey margin-right-5 hidden-xs'></i><strong><?php echo $list[$i]['it_id']; ?></strong></a>",
            이미지: "<div style='width:50px;margin:0 auto'><a href='<?php echo $list[$i]['href']; ?>' target='_blank'><?php echo $list[$i]['image']; ?></a></div>",
            제품명_유형: "<label class='input'><p>한국어<input type='text' name='it_name[<?php echo $i; ?>]' id='it_name_<?php echo $i; ?>' value='<?php echo get_text($list[$i]['it_name']); ?>' required></p><p>중국어<input type='text' name='it_name_cn[<?php echo $i; ?>]' id='it_name_cn_<?php echo $i; ?>' value='<?php echo get_text($list[$i]['it_name_cn']); ?>' required></p><p>영어<input type='text' name='it_name_us[<?php echo $i; ?>]' id='it_name_us<?php echo $i; ?>' value='<?php echo get_text($list[$i]['it_name_us']); ?>' required></p></label><div class='item-type-divider'></div><div class='item-type-box'><div class='inline-group item-type-group'><label class='checkbox' for='it_type1_<?php echo $i; ?>'><input type='checkbox' name='it_type1[<?php echo $i; ?>]' id='it_type1_<?php echo $i; ?>' value='1' <?php echo $list[$i]['it_type1'] ? 'checked': ''; ?>><i></i> <span class='label bg-dark lighter color-white'>히트</span></label><label class='checkbox' for='it_type2_<?php echo $i; ?>'><input type='checkbox' name='it_type2[<?php echo $i; ?>]' id='it_type2_<?php echo $i; ?>' value='1' <?php echo $list[$i]['it_type2'] ? 'checked': ''; ?>><i></i> <span class='label bg-yellow lighter color-white'>추천</span></label><label class='checkbox' for='it_type3_<?php echo $i; ?>'><input type='checkbox' name='it_type3[<?php echo $i; ?>]' id='it_type3_<?php echo $i; ?>' value='1' <?php echo $list[$i]['it_type3'] ? 'checked': ''; ?>><i></i> <span class='label bg-red lighter color-white'>신상</span></label><label class='checkbox' for='it_type4_<?php echo $i; ?>'><input type='checkbox' name='it_type4[<?php echo $i; ?>]' id='it_type4_<?php echo $i; ?>' value='1' <?php echo $list[$i]['it_type4'] ? 'checked': ''; ?>><i></i> <span class='label bg-green lighter color-white'>인기</span></label><label class='checkbox' for='it_type5_<?php echo $i; ?>'><input type='checkbox' name='it_type5[<?php echo $i; ?>]' id='it_type5_<?php echo $i; ?>' value='1' <?php echo $list[$i]['it_type5'] ? 'checked': ''; ?>><i></i> <span class='label bg-purple lighter color-white'>할인</span></label></div></div>",
            순서: "<label class='input'><input type='text' name='it_order[<?php echo $i; ?>]' id='it_order_<?php echo $i; ?>' value='<?php echo $list[$i]['it_order']; ?>'>",
            판매수량: "<?php echo $list[$i]['sales'] ? number_format($list[$i]['sales']):0; ?>",
            판매: "<label class='checkbox'><input type='checkbox' name='it_use[<?php echo $i; ?>]' id='it_use_<?php echo $i; ?>' value='1' <?php echo $list[$i]['it_use'] ? 'checked':''; ?>><i></i></label>",
            품절: "<label class='checkbox'><input type='checkbox' name='it_soldout[<?php echo $i; ?>]' id='it_soldout_<?php echo $i; ?>' value='1' <?php echo $list[$i]['it_soldout'] ? 'checked':''; ?>><i></i></label>",
            재고수량: "<label class='input'><input type='text' name='it_stock_qty[<?php echo $i; ?>]' id='it_stock_qty_<?php echo $i; ?>' value='<?php echo $list[$i]['it_stock_qty']; ?>'>",
            판매가격: "<label class='input'><p>한국(원)<input type='text' name='it_price[<?php echo $i; ?>]' id='it_price_<?php echo $i; ?>' value='<?php echo $list[$i]['it_price']; ?>'></p><p>중국(위안)<input type='text' name='it_price_cn[<?php echo $i; ?>]' id='it_price_cn_<?php echo $i; ?>' value='<?php echo $list[$i]['it_price_cn']; ?>'></p><p>미국(달러)<input type='text' name='it_price_us[<?php echo $i; ?>]' id='it_price_us_<?php echo $i; ?>' value='<?php echo $list[$i]['it_price_us']; ?>'></p>",
            시중가격: "<label class='input'><p>한국(원)<input type='text' name='it_cust_price[<?php echo $i; ?>]' id='it_cust_price_<?php echo $i; ?>' value='<?php echo $list[$i]['it_cust_price']; ?>'></p><p>중국(위안)<input type='text' name='it_cust_price_cn[<?php echo $i; ?>]' id='it_cust_price_cn_<?php echo $i; ?>' value='<?php echo $list[$i]['it_cust_price_cn']; ?>'></p><p>미국(달러)<input type='text' name='it_cust_price_us[<?php echo $i; ?>]' id='it_cust_price_us_<?php echo $i; ?>' value='<?php echo $list[$i]['it_cust_price_us']; ?>'></p>",
            등록일: "<?php echo date("Y-m-d", strtotime($list[$i]['it_time'])); ?>",
        },
        <?php } ?>
    ]
}();

var db = { ... } 안에 있는 loadData 쪽일까요? 이거는 관리자페이지의 검색 조건을 비교해서 해당 조건에 일치하는 상품을 가져오는 곳 같은데...ㅠㅠ

다른 곳에서는 상품명이 제대로 나오는데 관리자 페이지에 상품명만 이렇게 나옵니다. 무엇이 문제일까요?

 

 

답변 1개

채택된 답변
+20 포인트

DB 에 It's 따옴표 값이 들어가게되면 위의 현상이 발생할수 밖에 없습니다.

 

PHP 에서 제공하는 addslashes 함수를 이용하시면 해결됩니다.

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