배송지 목록에서 기본배송지 클릭 시 변경이 안됩니다. 채택완료
제목 그대로 입니다.
오류뜨는것도 없어서 정말 답답하네요
배송지 변경은 정상적으로 됩니다 ㅠ
혹시 원래 없는 기능인건지 제가 소스를 잘못건들였는지 한번 봐주실 수 있을까요?
버튼이 클릭되게 되어있는거보면 제가 잘못건들였을 확률이 큰거같은데
//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개월 전
원 소스파일을 업데이트를 해보시고 테스트해보시기 바랍니다 그리고 이후 정확한 오류내용이 무엇인지 찾아서 해결을 하셔야할 듯 으로 보입니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
채택
채택
채택
답변대기
채택
채택
채택
답변대기
답변대기
답변대기
채택
채택
채택
채택
채택
채택
채택
답변대기