채택완료

정품인증 방법있을까요?

수공예품에 바코드를 각인하여 판매하고 있습니다.

 

구매자가 저희 홈페이지에 접속해서

바코드에 있는 번호를 바코드 입력란에서 조회하면

해당 홈페이지에서 판매한 제품이 맞다는 내용을 뜨게하고싶습니다.

 

어떻게하면 가능할까요?

 

고수님들 부탁드립니다.

|

답변 3개 / 댓글 4개

채택된 답변
+20 포인트

참조 샘플입니다.

1) DB 테이블

Copy
CREATE TABLE `g5_barcode_products` (
  `bp_id` int(11) NOT NULL AUTO_INCREMENT,
  `bp_barcode` varchar(50) NOT NULL COMMENT '바코드 번호',
  `bp_product_name` varchar(200) NOT NULL COMMENT '제품명',
  `bp_datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시',
  PRIMARY KEY (`bp_id`),
  UNIQUE KEY `bp_barcode` (`bp_barcode`),
  KEY `bp_datetime` (`bp_datetime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='바코드 제품 관리';

 

2) 고객용 바코드 조회 페이지 샘플 /page/barcode_check.php

Copy
<?php
include_once '../common.php';

$g5['title'] = '제품 진품 확인';
include_once G5_PATH.'/head.php';

$barcode = '';
$result_msg = '';
$product_name = '';

// 폼 처리
if (isset($_POST['barcode']) && $_POST['barcode']) {
    $barcode = clean_xss_tags($_POST['barcode']);
    
    // 바코드 조회
    $sql = "SELECT bp_product_name FROM g5_barcode_products WHERE bp_barcode = '".sql_real_escape_string($barcode)."'";
    $row = sql_fetch($sql);
    
    if ($row) {
        $result_msg = 'success';
        $product_name = $row['bp_product_name'];
    } else {
        $result_msg = 'fail';
    }
}
?>

<div id="barcode_check_wrap">
    <h2>제품 진품 확인</h2>
    
    <form method="post" action="">
        <p>
            <label for="barcode">바코드 번호</label><br>
            <input type="text" name="barcode" id="barcode" value="<?php echo htmlspecialchars($barcode); ?>" placeholder="바코드 번호를 입력하세요" required>
        </p>
        <p>
            <input type="submit" value="확인하기">
        </p>
    </form>
    
    <?php if ($result_msg == 'success') { ?>
    <div class="result_box success">
        <h3>✓ 정품 확인</h3>
        <p><strong>제품명:</strong> <?php echo htmlspecialchars($product_name); ?></p>
        <p>이 제품은 저희 홈페이지에서 판매한 정품입니다.</p>
    </div>
    <?php } elseif ($result_msg == 'fail') { ?>
    <div class="result_box fail">
        <h3>✗ 확인 불가</h3>
        <p>입력하신 바코드로 등록된 제품을 찾을 수 없습니다.</p>
    </div>
    <?php } ?>
</div>

<style>
#barcode_check_wrap {
    max-width: 500px;
    margin: 50px auto;
    padding: 20px;
    border: 1px solid #ddd;
}
#barcode_check_wrap h2 {
    text-align: center;
    margin-bottom: 30px;
}
#barcode_check_wrap input[type="text"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    margin-top: 5px;
}
#barcode_check_wrap input[type="submit"] {
    background: #007cba;
    color: white;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
}
.result_box {
    margin-top: 20px;
    padding: 15px;
    border-radius: 5px;
    text-align: center;
}
.result_box.success {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}
.result_box.fail {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}
</style>

<?php include_once G5_PATH.'/tail.php'; ?>


3) 관리자용 바코드 등록 페이지 /adm/barcode_register.php

Copy
<?php
$sub_menu = "200900";
include_once('./_common.php');

auth_check($auth[$sub_menu], 'w');

$g5['title'] = '바코드 등록';
include_once('./admin.head.php');

// 등록 처리
if (isset($_POST['act']) && $_POST['act'] == 'add') {
    $barcode = clean_xss_tags($_POST['barcode']);
    $product_name = clean_xss_tags($_POST['product_name']);
    
    if (!$barcode) {
        alert('바코드를 입력해주세요.');
    }
    if (!$product_name) {
        alert('제품명을 입력해주세요.');
    }
    
    // 중복 확인
    $check_sql = "SELECT COUNT(*) as cnt FROM g5_barcode_products WHERE bp_barcode = '".sql_real_escape_string($barcode)."'";
    $check_result = sql_fetch($check_sql);
    
    if ($check_result['cnt'] > 0) {
        alert('이미 등록된 바코드입니다.');
    }
    
    // 등록
    $sql = "INSERT INTO g5_barcode_products 
            SET bp_barcode = '".sql_real_escape_string($barcode)."',
                bp_product_name = '".sql_real_escape_string($product_name)."',
                bp_datetime = NOW()";
    
    sql_query($sql);
    
    alert('바코드가 등록되었습니다.');
}
?>

<div class="local_desc01 local_desc">
    <p>제품에 부착할 바코드 정보를 등록합니다.</p>
</div>

<form name="fregister" method="post" action="">
<input type="hidden" name="act" value="add">

<div class="tbl_frm01 tbl_wrap">
    <table>
    <colgroup>
        <col class="grid_4">
        <col>
    </colgroup>
    <tbody>
    <tr>
        <th scope="row"><label for="barcode">바코드 번호<strong class="sound_only">필수</strong></label></th>
        <td><input type="text" name="barcode" id="barcode" required class="frm_input required" maxlength="50"></td>
    </tr>
    <tr>
        <th scope="row"><label for="product_name">제품명<strong class="sound_only">필수</strong></label></th>
        <td><input type="text" name="product_name" id="product_name" required class="frm_input required" maxlength="200"></td>
    </tr>
    </tbody>
    </table>
</div>

<div class="btn_confirm01 btn_confirm">
    <input type="submit" value="등록" class="btn_submit" accesskey="s">
    <a href="<?php echo G5_URL; ?>/barcode_check.php" target="_blank" class="btn btn_02">조회페이지 보기</a>
</div>

</form>

<script>
document.getElementById('barcode').focus();
</script>

<?php
include_once('./admin.tail.php');
?>

답변에 대한 댓글 1개

감사합니다. 잘보고 따라해보겠습니다^^ 감사드립니다.

1. 판매하는 상품 바코드 값을 서버에 등록(모든 상품을 대상으로 하거나 판매가 되면 등록하거니)

2. 상품의 바코드를 읽어서 값을 서버와 비교하는 프로그램 작업

 

---홈페이지의 바코드 스캔 페이지에 접속하여 폰의 카메라로 바코드를 읽도록 함

---서버에 저장하는 바코드 값은 상품을 직접 스캔 하여 등록하거나 바코드 생성시 등록

----값을 직접 입력하는 것은 입력오류도 많거니와 사용이 불편 함

 

 

답변에 대한 댓글 2개

답변주셔서 감사합니다. ^^
바코드 스캔 라이브러리는 zxing 사용하면 됩니다
https://github.com/zxing-js/library

1. 바코드 DB 를 mysql DB 에 저장
2. 특정 페이지에 바코드 조회 페이지 작업
3. 구매자가 바코드 DB 를 입력 후 맞으면 맞다고 출력을 해줘야 하는데

개발에 대한 기본 지식이 없으시면 작업하기 힘드실겁니다.
개발지식이 없으실 경우 제작의뢰에 5~10만원선으로 작업의뢰 올리셔야 할듯합니다.

답변에 대한 댓글 1개

답변 감사합니다. 그누보드와 함께한 시간이 15년정도인것 같은데 고수분들이 만들어주신 테마등등 편집하는 수준밖에 되질 않네요^^; mysql DB 만질줄 알고 기본적인 지식은 조금은 있는것 같아서 조금더 연구해보고 정 안되면 말씀주신데로 작업의뢰를 하는게 맞는것 같습니다. 감사합니다.

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