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

체크박스 체크 여부에 따라서 DB 데이터 저장을 다르게 하려고 하는데 저장이 안 됩니다. 코드 좀 봐주실 수 있을까요? 채택완료

안녕하세요? 항상 도움 받고 있습니다. 감사합니다. 영카트에서 주문을 할 때 해외주소 국내주소를 기입할 수있는데 체크박스 여부에 따라서 체크를 하면 해외주소만 DB 에 저장이 되고 체크를 하지 않으면 국내 주소만 DB 에 저장이 되게 하려고 합니다. 둘 다 저장이 되니까 관리자 입장에서 혼란스럽더라고요. 코드는 아래와 같습니다.  orderform.orderer.skin.php  

     

       

        해외배송

       

   

 

   

     

     

     

     

       

     

     

       

     

 

     

       

       

     

 

     

       

       

     

 

     

     

     

     

   

    

     

     

 

       

       

     

 

     

       

       

     

 

     

       

       

     

 

     

       

       

     

 

     

       

       

     

     

     

   

 

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_address_line1 = '$overseas_address_line1',

             overseas_address_line2 = '$overseas_address_line2',

             overseas_city = '$overseas_city',

             overseas_state = '$overseas_state',

             overseas_postal_code = '$overseas_postal_code'";

} 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_address_line1 = '$b_overseas_address_line1',

             b_overseas_address_line2 = '$b_overseas_address_line2',

             b_overseas_city = '$b_overseas_city',

             b_overseas_state = '$b_overseas_state',

             b_overseas_postal_code = '$b_overseas_postal_code'";

} 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); $_POST 로는 잘 넘어가는데 데이터가 DB 에 저장이 되지 않습니다. 국내 주소는 또 저장이 잘 되고요 .. 왜 그런지 알 수 있을까요?

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

답변 1개

채택된 답변
+20 포인트

데이터는 잘 넘어오는데, DB에 저장이안된다면,

해당 쿼리문을 echo $sql;exit; 형식으로 출력해서

그 쿼리문을 db접속 툴을 이용해서, 직접 실행해보시기 바랍니다.

쿼리문에 구문오류가 있거나, 여분필드가 확장 되지 않았을 수 있습니다.

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

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

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

로그인

전체 질문 목록

🐛 버그신고