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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
체크박스 체크 여부에 따라서 DB 데이터 저장을 다르게 하려고 하는데 저장이 안 됩니다. 코드 좀 봐주실 수 있을까요?

QA

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

본문

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

orderform.orderer.skin.php
 

<div class="form-group has-feedback">

      <label class="col-sm-2 control-label">

        <input type="checkbox" name="b_overseas_shipping_checkbox" id="b_overseas_shipping_checkbox" value="">

        해외배송

       </label>

    </div>

 

    <div class="form-group has-feedback" id="b_address_form">

     <label class="col-sm-2 control-label"><b>주소</b><strong class="sound_only">필수</strong></label>

     <div class="col-sm-8">

      <label for="od_b_zip" class="sound_only">우편번호<strong class="sound_only"> 필수</strong></label>

      <label>

       <input type="text" name="od_b_zip" id="od_b_zip" required class="form-control input-sm" size="6" maxlength="6">

      </label>

      <label>

       <button type="button" class="btn btn-black btn-sm" style="margin-top:0px;" onclick="win_zip('forderform', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon');">주소 검색</button>

      </label>

 

      <div class="addr-line">

       <label class="sound_only" for="od_b_addr1">기본주소<strong class="sound_only"> 필수</strong></label>

       <input type="text" name="od_b_addr1" id="od_b_addr1" required class="form-control input-sm" size="60" placeholder="기본주소">

      </div>

 

      <div class="addr-line">

       <label class="sound_only" for="od_b_addr2">상세주소</label>

       <input type="text" name="od_b_addr2" id="od_b_addr2" class="form-control input-sm" size="50" placeholder="상세주소">

      </div>

 

      <label class="sound_only" for="od_b_addr3">참고항목</label>

      <input type="text" name="od_b_addr3" id="od_b_addr3" class="form-control input-sm" size="50" readonly="readonly" placeholder="참고항목">

      <input type="hidden" name="od_b_addr_jibeon" value="">

     </div>

    </div>


    

<div class="form-group has-feedback" id="b_overseas_hidden_fields">

     <label class="col-sm-2 control-label"><b>해외배송주소</b><strong class="sound_only">필수</strong></label>

     <div class="col-sm-8">

 

<div class="addr-line">

       <label class="sound_only" for="b_overseas_address_line1">Address line 1</label>

       <input type="text" name="b_overseas_address_line1" id="b_overseas_address_line1" class="form-control input-sm" size="50" placeholder="Address line 1">

      </div>

 

      <div class="addr-line">

       <label class="sound_only" for="b_overseas_address_line2">Address line 2 (optional)</label>

       <input type="text" name="b_overseas_address_line2" id="b_overseas_address_line2" class="form-control input-sm" size="50" placeholder="Address line 2 (optional)">

      </div>

 

      <div class="addr-line">

       <label class="sound_only" for="b_overseas_city">City</label>

       <input type="text" name="b_overseas_city" id="b_overseas_city" class="form-control input-sm" size="50" placeholder="City">

      </div>

 

      <div class="addr-line">

       <label class="sound_only" for="b_overseas_state">State / Province / Region</label>

       <input type="text" name="b_overseas_state" id="b_overseas_state" class="form-control input-sm" size="50" placeholder="State / Province / Region">

      </div>

 

      <div class="addr-line">

       <label class="sound_only" for="b_overseas_postal_code">Postal code</label>

       <input type="text" name="b_overseas_postal_code" id="b_overseas_postal_code" class="form-control input-sm" placeholder="Postal code">

      </div>

     

     </div>

    </div>

 

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

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

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

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

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

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

회원로그인

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