안녕하세요. 영카트에서 상품을 주문해서 데이터를 저장하려고 합니다.

안녕하세요. 영카트에서 상품을 주문해서 데이터를 저장하려고 합니다.

QA

안녕하세요. 영카트에서 상품을 주문해서 데이터를 저장하려고 합니다.

본문

안녕하세요? 항상 도움 받고 있습니다. 감사합니다.

영카트에서 상품을 장바구니에 넣고 다음 페이지에서 구매자 정보를 입력하고 나서 해당 입력 정보를 테이블에 넣어주려고 하는데 입력이 안됩니다. 

g5_shop_order 테이블에

`overseas_country` VARCHAR(255) NOT NULL DEFAULT '',
`overseas_city` VARCHAR(255) NOT NULL DEFAULT '',
`overseas_state` VARCHAR(255) NOT NULL DEFAULT '',
`overseas_address_line1` VARCHAR(255) NOT NULL DEFAULT '',
`overseas_postal_code` VARCHAR(255) NOT NULL DEFAULT '',
`overseas_FedEx_account_number` VARCHAR(255) NOT NULL DEFAULT '',
`b_overseas_country` VARCHAR(255) NOT NULL DEFAULT '',
`b_overseas_city` VARCHAR(255) NOT NULL DEFAULT '',
`b_overseas_state` VARCHAR(255) NOT NULL DEFAULT '',
`b_overseas_address_line1` VARCHAR(255) NOT NULL DEFAULT '',
`b_overseas_postal_code` VARCHAR(255) NOT NULL DEFAULT '',
`b_overseas_FedEx_account_number` VARCHAR(255) NOT NULL DEFAULT '', 

추가해주었고 

shop/orderformupdate.php 에 아래와 같은 코드를 추가해주었습니다. 

$sql = "UPDATE {$g5['g5_shop_order_table']}
        SET od_id = '$od_id',
            mb_id = '{$member['mb_id']}',
            od_pwd = '$od_pwd',
            od_name = '$od_name',
            od_email = '$od_email',
            od_tel = '$od_tel',
            od_hp = '$od_hp',

            od_b_name = '$od_b_name',
            od_b_tel = '$od_b_tel',
            od_b_hp = '$od_b_hp',

            od_deposit_name = '$od_deposit_name',
            od_memo = '$od_memo',
            od_cart_count = '$cart_count',
            od_cart_price = '$tot_ct_price',
            od_cart_coupon = '$tot_it_cp_price',
            od_send_cost = '$od_send_cost',
            od_send_coupon = '$tot_sc_cp_price',
            od_send_cost2 = '$od_send_cost2',
            od_coupon = '$tot_od_cp_price',
            od_receipt_price = '$od_receipt_price',
            od_receipt_point = '$od_receipt_point',
            od_bank_account = '$od_bank_account',
            od_receipt_time = '$od_receipt_time',
            od_misu = '$od_misu',
            od_pg = '$od_pg',
            od_tno = '$od_tno',
            od_app_no = '$od_app_no',
            od_escrow = '$od_escrow',
            od_tax_flag = '$od_tax_flag',
            od_tax_mny = '$od_tax_mny',
            od_vat_mny = '$od_vat_mny',
            od_free_mny = '$od_free_mny',
            od_status = '$od_status',
            od_hope_date = '$od_hope_date',
            od_time = '".G5_TIME_YMDHIS."',
            od_ip = '$REMOTE_ADDR',
            od_settle_case = '$od_settle_case'";
            
if (isset($_POST['overseas_shipping_checkbox']) && $_POST['overseas_shipping_checkbox'] == 'on') {
    // 보내는 사람 해외주소 체크박스가 체크된 경우
    $sql .= ", overseas_country = '$overseas_country',
             overseas_city = '$overseas_city',
             overseas_state = '$overseas_state',             
             overseas_address_line1 = '$overseas_address_line1',
             overseas_postal_code = '$overseas_postal_code',
             overseas_FedEx_account_number = '$overseas_FedEx_account_number'";
} else {
    // 보내는 사람 해외주소 체크박스가 체크되지 않은 경우
    $sql .= ", od_zip1 = '$od_zip1',
             od_zip2 = '$od_zip2',
             od_addr1 = '$od_addr1',
             od_addr2 = '$od_addr2',
             od_addr3 = '$od_addr3',
             od_addr_jibeon = '$od_addr_jibeon'";
}

if (isset($_POST['b_overseas_shipping_checkbox']) && $_POST['b_overseas_shipping_checkbox'] == 'on') {
    // 받는 사람 해외주소 체크박스가 체크된 경우
    $sql .= ", b_overseas_country = '$b_overseas_country',
             b_overseas_city = '$b_overseas_city',
             b_overseas_state = '$b_overseas_state',             
             b_overseas_address_line1 = '$b_overseas_address_line1',
             b_overseas_postal_code = '$b_overseas_postal_code',
             b_overseas_FedEx_account_number = '$b_overseas_FedEx_account_number'";
} else {
    // 받는 사람 해외주소 체크박스가 체크되지 않은 경우
    $sql .= ", od_b_zip1 = '$od_b_zip1',
             od_b_zip2 = '$od_b_zip2',
             od_b_addr1 = '$od_b_addr1',
             od_b_addr2 = '$od_b_addr2',
             od_b_addr3 = '$od_b_addr3',
             od_b_addr_jibeon = '$od_b_addr_jibeon'";
}

// 나머지 주문자 정보 저장
$sql .= ", od_test = '{$default['de_card_test']}'
         WHERE od_id = '$od_id'";

$result = sql_query($sql, false);

그런데 해당 데이터가 전혀 저장이 되지 않더라고요. orderformupdate.php 가 아닌 다른 파일에서 DB 에 저장을 해주는 건가요? 도와주세요. ㅠㅠ

이 질문에 댓글 쓰기 :

답변 3

영카트는 바로 오더폼으로 가는게 아니라 카트 파일을 거치게 됩니다.

 

/shop/cart.php 파일과

/shop/cart.update.php 파일도 채크해보세요.

 

근데 질문자님이 위 상태로 했으면 장바구니 내용이 변경되었다고 경고 뜰것 같은데..?

무통장으로 하시면서 post 값이 넘어오는지 확인해보시고 넘어오면 pg사로 결제해보셔서 pg 결과 페이지에서도 똑같이 받아오는지 확인을 해보셔야 할거 같습니다.

일단 데이타베이스에 필드를 추가 해주었고, 서버쪽에 정의 을 하였는 데도 디비에 저장이 않된다는하면은.........?

 

첫째 SQL 쿼리 실행 후에 데이터베이스 오류를 확인하기위해서 오류 처리코드를 추가해서 확인해봐야할것 같습니다.

 

둘째 디버깅 코드를 중간에 넣어서 확인해 봐야 할것 같구요

답변을 작성하시기 전에 로그인 해주세요.
전체 2,711
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT