배송지 목록에서 기본배송지 클릭 시 변경이 안됩니다. 채택완료
제목 그대로 입니다.
오류뜨는것도 없어서 정말 답답하네요
배송지 변경은 정상적으로 됩니다 ㅠ
혹시 원래 없는 기능인건지 제가 소스를 잘못건들였는지 한번 봐주실 수 있을까요?
버튼이 클릭되게 되어있는거보면 제가 잘못건들였을 확률이 큰거같은데
//orderaddress.php
</p>
<p><?php</p>
<p>include_once('./_common.php');</p>
<p> </p>
<p>if(!$is_member)</p>
<p> alert_close('회원이시라면 회원로그인 후 이용해 주십시오.');</p>
<p> </p>
<p>$ad_id = isset($_REQUEST['ad_id']) ? (int) $_REQUEST['ad_id'] : 0;</p>
<p> </p>
<p>if($w == 'd') {</p>
<p> $sql = " delete from {$g5['g5_shop_order_address_table']} where mb_id = '{$member['mb_id']}' and ad_id = '$ad_id' ";</p>
<p> sql_query($sql);</p>
<p> goto_url($_SERVER['SCRIPT_NAME']);</p>
<p>}</p>
<p> </p>
<p>$sql_common = " from {$g5['g5_shop_order_address_table']} where mb_id = '{$member['mb_id']}' ";</p>
<p> </p>
<p>$sql = " select count(ad_id) as cnt " . $sql_common;</p>
<p>$row = sql_fetch($sql);</p>
<p>$total_count = $row['cnt'];</p>
<p> </p>
<p>$rows = $config['cf_page_rows'];</p>
<p>$total_page = ceil($total_count / $rows); // 전체 페이지 계산</p>
<p>if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)</p>
<p>$from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p> </p>
<p>$sql = " select *</p>
<p> $sql_common</p>
<p> order by ad_default desc, ad_id desc</p>
<p> limit $from_record, $rows";</p>
<p> </p>
<p>$result = sql_query($sql);</p>
<p> </p>
<p>if(!sql_num_rows($result))</p>
<p> alert_close('배송지 목록 자료가 없습니다.');</p>
<p> </p>
<p>$order_action_url = G5_HTTPS_SHOP_URL.'/orderaddressupdate.php';</p>
<p> </p>
<p>if (G5_IS_MOBILE) {</p>
<p> include_once(G5_MSHOP_PATH.'/orderaddress.php');</p>
<p> return;</p>
<p>}</p>
<p> </p>
<p>// 테마에 orderaddress.php 있으면 include</p>
<p>if(defined('G5_THEME_SHOP_PATH')) {</p>
<p> $theme_orderaddress_file = G5_THEME_SHOP_PATH.'/orderaddress.php';</p>
<p> if(is_file($theme_orderaddress_file)) {</p>
<p> include_once($theme_orderaddress_file);</p>
<p> return;</p>
<p> unset($theme_orderaddress_file);</p>
<p> }</p>
<p>}</p>
<p> </p>
<p>$g5['title'] = '배송지 목록';</p>
<p>include_once(G5_PATH.'/head.sub.php');</p>
<p>?></p>
<p><form name="forderaddress" method="post" action="<?php echo $order_action_url; ?>" autocomplete="off"></p>
<p><div id="sod_addr" class="new_win"></p>
<p> </p>
<p> <h1 id="win_title">배송지 목록</h1></p>
<p> <div class="tbl_head03 tbl_wrap"></p>
<p> <table></p>
<p> <thead></p>
<p> <tr></p>
<p> <th scope="col">배송지명</th></p>
<p> <th scope="col">이름</th></p>
<p> <th scope="col">배송지정보</th></p>
<p> <th scope="col">관리</th></p>
<p> </tr></p>
<p> </p>
<p> </thead></p>
<p> <tbody></p>
<p> <?php</p>
<p> $sep = chr(30);</p>
<p> for($i=0; $row=sql_fetch_array($result); $i++) {</p>
<p> $addr = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject'];</p>
<p> $addr = get_text($addr);</p>
<p> ?></p>
<p> <tr></p>
<p> <td class="td_sbj"></p>
<p> <div class="chk_box"></p>
<p> <input type="hidden" name="ad_id[<?php echo $i; ?>]" value="<?php echo $row['ad_id'];?>"></p>
<p> <input type="checkbox" name="chk[]" value="<?php echo $i;?>" id="chk_<?php echo $i;?>" class="selec_chk"></p>
<p> <label for="chk_<?php echo $i;?>"><span></span><b class="sound_only">배송지선택</b></label></p>
<p> </div></p>
<p> </p>
<p> <label for="ad_subject<?php echo $i;?>" class="sound_only">배송지명</label></p>
<p> <input type="text" name="ad_subject[<?php echo $i; ?>]" id="ad_subject<?php echo $i;?>" class="frm_input" size="12" maxlength="20" value="<?php echo get_text($row['ad_subject']); ?>"></p>
<p> </td></p>
<p> </p>
<p> <td class="td_name"><?php echo get_text($row['ad_name']); ?></td></p>
<p> <td class="td_address"></p>
<p> <?php echo print_address($row['ad_addr1'], $row['ad_addr2'], $row['ad_addr3'], $row['ad_jibeon']); ?>
</p>
<p> <span class="ad_tel"><?php echo $row['ad_tel']; ?> </span></p>
<p> </p>
<p> </td></p>
<p> <td class="td_mng"></p>
<p> <input type="hidden" value="<?php echo $addr; ?>" ></p>
<p> <button type="button" class="sel_address mng_btn">선택</button></p>
<p> <a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?w=d&ad_id=<?php echo $row['ad_id']; ?>" class="del_address mng_btn">삭제</a></p>
<p> <input type="radio" name="ad_default" value="<?php echo $row['ad_id'];?>" id="ad_default<?php echo $i;?>" <?php if($row['ad_default']) echo 'checked="checked"';?>></p>
<p> <label for="ad_default<?php echo $i;?>" class="default_lb mng_btn">기본배송지</label></p>
<p> </p>
<p> </td></p>
<p> </tr></p>
<p> </p>
<p> <?php</p>
<p> }</p>
<p> ?></p>
<p> </tbody></p>
<p> </table></p>
<p> </div></p>
<p> </p>
<p> <div class="win_btn"></p>
<p> <input type="submit" name="act_button" value="선택수정" class="btn_submit"></p>
<p> <button type="button" onclick="self.close();" class="btn_close">닫기</button></p>
<p> </div></p>
<p></div></p>
<p></form></p>
<p> </p>
<p><?php echo get_paging($config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr&page="); ?></p>
<p> </p>
<p><script></p>
<p>$(function() {</p>
<p> $(".sel_address").on("click", function() {</p>
<p> var addr = $(this).siblings("input").val().split(String.fromCharCode(30));</p>
<p> </p>
<p> var f = window.opener.forderform;</p>
<p> f.od_b_name.value = addr[0];</p>
<p> f.od_b_tel.value = addr[1];</p>
<p> // f.od_b_hp.value = addr[2];</p>
<p> f.od_b_zip.value = addr[3] + addr[4];</p>
<p> f.od_b_addr1.value = addr[5];</p>
<p> f.od_b_addr2.value = addr[6];</p>
<p> f.od_b_addr3.value = addr[7];</p>
<p> f.od_b_addr_jibeon.value = addr[8];</p>
<p> f.ad_subject.value = addr[9];</p>
<p> </p>
<p> var zip1 = addr[3].replace(/[^0-9]/g, "");</p>
<p> var zip2 = addr[4].replace(/[^0-9]/g, "");</p>
<p> </p>
<p> if(zip1 != "" && zip2 != "") {</p>
<p> var code = String(zip1) + String(zip2);</p>
<p> </p>
<p> if(window.opener.zipcode != code) {</p>
<p> window.opener.zipcode = code;</p>
<p> window.opener.calculate_sendcost(code);</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> window.close();</p>
<p> });</p>
<p> </p>
<p> $(".del_address").on("click", function() {</p>
<p> return confirm("배송지 목록을 삭제하시겠습니까?");</p>
<p> });</p>
<p> </p>
<p> // 전체선택 부분</p>
<p> $("#chk_all").on("click", function() {</p>
<p> if($(this).is(":checked")) {</p>
<p> $("input[name^='chk[']").attr("checked", true);</p>
<p> } else {</p>
<p> $("input[name^='chk[']").attr("checked", false);</p>
<p> }</p>
<p> });</p>
<p> </p>
<p> $(".btn_submit").on("click", function() {</p>
<p> if($("input[name^='chk[']:checked").length==0 ){</p>
<p> alert("수정하실 항목을 하나 이상 선택하세요.");</p>
<p> return false;</p>
<p> }</p>
<p> });</p>
<p> </p>
<p>});</p>
<p></script></p>
<p> </p>
<p><?php</p>
<p>include_once(G5_PATH.'/tail.sub.php');</p>
<p>
</p>
<p>//oderaddressupdate.php</p>
<p><?php</p>
<p>include_once('./_common.php');</p>
<p> </p>
<p>if($is_guest)</p>
<p> die('회원 로그인 후 이용해 주십시오.');</p>
<p> </p>
<p>$count = (isset($_POST['chk']) && is_array($_POST['chk'])) ? count($_POST['chk']) : 0;</p>
<p> </p>
<p>if (!$count) {</p>
<p> alert('수정하실 항목을 하나이상 선택하세요.');</p>
<p>}</p>
<p> </p>
<p>if ($is_member && $count) {</p>
<p> for ($i=0; $i<$count; $i++)</p>
<p> {</p>
<p> // 실제 번호를 넘김</p>
<p> $k = isset($_POST['chk'][$i]) ? (int) $_POST['chk'][$i] : 0;</p>
<p> $ad_id = isset($_POST['ad_id'][$k]) ? (int) $_POST['ad_id'][$k] : 0;</p>
<p> </p>
<p> $ad_subject = isset($_POST['ad_subject'][$k]) ? clean_xss_tags($_POST['ad_subject'][$k]) : '';</p>
<p> </p>
<p> $sql = " update {$g5['g5_shop_order_address_table']}</p>
<p> set ad_subject = '".sql_real_escape_string($ad_subject)."' ";</p>
<p> </p>
<p> if(!empty($_POST['ad_default']) && $ad_id === $_POST['ad_default']) {</p>
<p> sql_query(" update {$g5['g5_shop_order_address_table']} set ad_default = '0' where mb_id = '{$member['mb_id']}' ");</p>
<p> </p>
<p> $sql .= ", ad_default = '1' ";</p>
<p> }</p>
<p> </p>
<p> $sql .= " where ad_id = '".$ad_id."'</p>
<p> and mb_id = '{$member['mb_id']}' ";</p>
<p> </p>
<p> sql_query($sql);</p>
<p> }</p>
<p>}</p>
<p> </p>
<p>goto_url(G5_SHOP_URL.'/orderaddress.php');</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
10개월 전
이 부분에서 걸러질까요..? $ad_id 는 윗줄에서 int로 형변환 시켜주는데 넘어온 $_POST 값은 문자열이라..? === 을 == 으로 바꿔서 테스트해보시는 것도 좋은 것 같습니다!</strong><code>$ad_id === $_POST['ad_default']</code><strong>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
10개월 전
원 소스파일을 업데이트를 해보시고 테스트해보시기 바랍니다 그리고 이후 정확한 오류내용이 무엇인지 찾아서 해결을 하셔야할 듯 으로 보입니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택