간단한 상품명 중복검사 하기 > 영카트5 팁자료실

영카트5 팁자료실

간단한 상품명 중복검사 하기 정보

간단한 상품명 중복검사 하기

본문

/adm/shop_admin/itemform.php 파일을 열고

 


        <tr>
            <th scope="row"><label for="it_name">상품명</label></th>
            <td colspan="2">
                <?php echo help("HTML 입력이 불가합니다."); ?>
                <input type="text" name="it_name" value="<?php echo get_text(cut_str($it['it_name'], 250, "")); ?>" id="it_name" required class="frm_input required" size="95">
            </td>
        </tr>

 

이 부분을 찾아

 


        <tr>
            <th scope="row"><label for="it_name">상품명</label></th>
            <td colspan="2">
                <?php echo help("HTML 입력이 불가합니다."); ?>
                <input type="text" name="it_name" value="<?php echo get_text(cut_str($it['it_name'], 250, "")); ?>" id="it_name" required class="frm_input required" size="95">
                <button type="button" onclick="adp_check_duplicate_name();" class="btn_02 btn">중복검사</button>
            </td>
        </tr>
        <script>
            function adp_check_duplicate_name(){
                var itemName = $('#it_name').val().trim();
                
                if(!itemName) {
                    alert('상품명을 입력해주세요.');
                    $('#it_name').focus();
                    return false;
                }
                
                $.ajax({
                    type: "POST",
                    url: "<?php echo G5_ADMIN_URL; ?>/shop_admin/itemform_namechk_ajax.php",
                    data: {
                        "it_name": itemName
                    },
                    success: function(msg){
                        if(msg == "ok"){
                            alert('중복되지 않은 상품명 입니다.');
                            return false;
                        } else if(msg == "duplicate") {
                            alert('이미 등록된 상품명입니다.');
                            return false;
                        }
                    },
                    error: function(){
                        alert('오류가 발생했습니다 - 에러코드 : itemform_namechk_ajax');
                    }
                });
            }
        </script>

 

이렇게 변경.

 

그리고

 

/adm/shop_admin/itemform_namechk_ajax.php

 

파일을 신규로 만든뒤 아래 코드 넣기.

 


<?php
include_once('./_common.php');
if($member['mb_level'] != 10) {
    echo 'auth';
    exit;
}
$it_name = sql_escape_string(trim($_POST['it_name']));
if(empty($it_name)) {
    echo 'empty';
    exit;
}
$sql = "SELECT COUNT(*) as cnt FROM {$g5['g5_shop_item_table']} WHERE it_name = '$it_name'";
$row = sql_fetch($sql);
if($row['cnt'] > 0){
    echo 'duplicate';
} else {
    echo 'ok';
}
?>

 

3698860916_1759639785.8868.png

 

3698860916_1759639864.1216.png

 

3698860916_1759639881.4117.png

 

단순 채크 이므로 강제성이 없으며 채크를 무시하고 등록이 가능합니다.

 

추천
1

댓글 1개

쿼리문을 sql 공격 방지용으로 권장합니다.

$stmt = $mysqli->prepare("SELECT COUNT(*) as cnt FROM {$g5['g5_shop_item_table']} WHERE it_name = ?");
$stmt->bind_param("s", $it_name);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();

전체 437
영카트5 팁자료실 내용 검색

회원로그인

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