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

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

호다 2년 전 조회 1,903

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

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

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개

채택된 답변
+20 포인트

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

 

/shop/cart.php 파일과

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

 

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

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

답변에 대한 댓글 1개

호다
2년 전
장바구니 말고 주문자가 개인 정보 입력할 때 국내 주소 이외에도 해외 주소를 입력하려고 합니다.

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

웅푸
2년 전

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

 

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

 

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

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

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

2년 전

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

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

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

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

로그인