모바일용 페이지 내 포인트 선물기능 회원문제

모바일용 페이지 내 포인트 선물기능 회원문제

QA

모바일용 페이지 내 포인트 선물기능 회원문제

본문

 
<?php
if ($is_guest)
    alert_close('회원만 이용하실 수 있습니다.');
 
$g5['title'] = "포인트 선물";
include_once(G5_PATH.'/head.sub.php');
?>
 
<div id="point-gift" class="new_win">
    <h1 id="win_title"><?php echo $g5['title']; ?></h1>
 
    <div class="new_win_con2">
        <form id="frm_point_gift" action="<?php echo $point_gift_action_url; ?>" method="post">
            <input type="hidden" name="token" value="<?php echo get_token(); ?>">
 
            <!-- 선물 내용 입력 폼 -->
            <div class="point_gift_form">
                <label for="pg_mb_id" class="required">선물 대상 회원 아이디</label>
                <input type="text" name="pg_mb_id" id="pg_mb_id" required>
 
                <label for="pg_point" class="required">선물 포인트</label>
                <input type="number" name="pg_point" id="pg_point" required>
 
                <label for="pg_memo">메모</label>
                <textarea name="pg_memo" id="pg_memo"></textarea>
            </div>
 
            <!-- 캡차 -->
            <div class="point_gift_captcha">
                <?php echo captcha_html(); ?>
                <input type="text" name="wr_key" class="captcha_input" id="captcha_input" required>
            </div>
 
            <!-- 버튼 -->
            <div class="point_gift_buttons">
                <button type="submit" class="btn_submit">선물하기</button>
                <button type="button" onclick="javascript:window.close();" class="btn_close">창닫기</button>
            </div>
        </form>
    </div>
</div>
 
<?php
if (isset($_POST['pg_mb_id']) && isset($_POST['pg_point'])) {
    $pg_mb_id = trim($_POST['pg_mb_id']);
    $pg_point = (int) $_POST['pg_point'];
 
// 회원 존재 여부 확인
$sql = "SELECT count(*) AS cnt FROM {$g5['member_table']} WHERE mb_id = '{$pg_mb_id}'";
$row = sql_fetch($sql);
 
if ($row['cnt'] == 0) {
    echo "<script>alert('존재하지 않는 회원입니다.'); history.back();</script>";
    exit;
} else {
    // 회원이 존재하는 경우에 대한 처리를 여기에 추가하세요.
        // 포인트 선물 처리 로직 작성
        // 선물 대상 회원이 존재하는 경우에 대한 처리를 여기에 추가하세요.
   
        // 선물 대상 회원의 아이디와 포인트를 변수에 저장
        $target_mb_id = $pg_mb_id;
        $target_point = $pg_point;
   
        // 선물하는 회원의 아이디와 포인트
        $present_mb_id = $member['mb_id'];
        $present_point = $target_point; // 선물할 포인트 금액
   
        // 포인트 선물 처리 로직 작성
        // 선물하는 회원의 포인트 차감
        $sql = "UPDATE {$g5['member_table']} SET mb_point = mb_point - {$present_point} WHERE mb_id = '{$present_mb_id}'";
        sql_query($sql);
   
        // 선물 대상 회원의 포인트 증가
        $sql = "UPDATE {$g5['member_table']} SET mb_point = mb_point + {$present_point} WHERE mb_id = '{$target_mb_id}'";
        sql_query($sql);
   
        // 선물 내역 로그 기록
        $present_memo = trim($_POST['pg_memo']);
        $present_time = G5_TIME_YMDHIS;
        $present_ip = $_SERVER['REMOTE_ADDR'];
   
        $sql = "INSERT INTO {$g5['point_table']} (mb_id, po_datetime, po_content, po_point, po_ip)
                VALUES ('{$present_mb_id}', '{$present_time}', '{$present_memo}', -{$present_point}, '{$present_ip}')";
        sql_query($sql);
   
        $sql = "INSERT INTO {$g5['point_table']} (mb_id, po_datetime, po_content, po_point, po_ip)
                VALUES ('{$target_mb_id}', '{$present_time}', '{$present_memo}', {$present_point}, '{$present_ip}')";
        sql_query($sql);
   
        // 선물 완료 메시지 출력 후 창 닫기
        echo "<script>alert('포인트를 성공적으로 선물하였습니다.'); window.close();</script>";
        exit;
   
    }
}

 
include_once(G5_PATH.'/tail.sub.php');
?>

 

이렇게 짰더니 모바일 페이지 내에 포인트 선물기능은 구현이 됬습니다. 

다만 아이디를 적고 선물버튼을 누르면 존재하지 않는 회원이라고 나옵니다. 왜그럴까요?

 

그리고 모바일에서 접속해보니 캡챠도 숫자도 2번 쓰게 되어있고 너무 디자인이 이상한데 

어떻게 수정해야 할까요 ? 

 

참조사이트는 swh.kr 입니다. 

이 질문에 댓글 쓰기 :

답변 2


<?php
if ($is_guest) {
    echo "<script>alert('회원만 이용하실 수 있습니다.'); window.close();</script>";
    exit;
}
$g5['title'] = "포인트 선물";
include_once(G5_PATH.'/head.sub.php');
?>
<div id="point-gift" class="new_win">
    <h1 id="win_title"><?php echo $g5['title']; ?></h1>
    <div class="new_win_con2">
        <form id="frm_point_gift" action="<?php echo $point_gift_action_url; ?>" method="post">
            <input type="hidden" name="token" value="<?php echo get_token(); ?>">
            <!-- 선물 내용 입력 폼 -->
            <div class="point_gift_form">
                <label for="pg_mb_id" class="required">선물 대상 회원 아이디</label>
                <input type="text" name="pg_mb_id" id="pg_mb_id" required>
                <label for="pg_point" class="required">선물 포인트</label>
                <input type="number" name="pg_point" id="pg_point" required>
                <label for="pg_memo">메모</label>
                <textarea name="pg_memo" id="pg_memo"></textarea>
            </div>
            <!-- 캡차 -->
            <div class="point_gift_captcha">
                <?php echo captcha_html(); ?>
                <input type="text" name="wr_key" class="captcha_input" id="captcha_input" required>
            </div>
            <!-- 버튼 -->
            <div class="point_gift_buttons">
                <button type="submit" class="btn_submit">선물하기</button>
                <button type="button" onclick="javascript:window.close();" class="btn_close">창닫기</button>
            </div>
        </form>
    </div>
</div>
<?php
if (isset($_POST['pg_mb_id']) && isset($_POST['pg_point'])) {
    $pg_mb_id = trim($_POST['pg_mb_id']);
    $pg_point = (int) $_POST['pg_point'];
    // 회원 존재 여부 확인
    $sql = "SELECT count(*) AS cnt FROM {$g5['member_table']} WHERE mb_id = ?";
    $row = sql_fetch($sql, [$pg_mb_id]);
    if ($row['cnt'] == 0) {
        echo "<script>alert('존재하지 않는 회원입니다.'); window.close();</script>";
        exit;
    } else {
        // 회원이 존재하는 경우에 대한 처리를 여기에 추가하세요.
        // 포인트 선물 처리 로직 작성
        // 선물 대상 회원이 존재하는 경우에 대한 처리를 여기에 추가하세요.
        // 선물 대상 회원의 아이디와 포인트를 변수에 저장
        $target_mb_id = $pg_mb_id;
        $target_point = $pg_point;
        // 선물하는 회원의 아이디와 포인트
        $present_mb_id = $member['mb_id'];
        $present_point = $target_point; // 선물할 포인트 금액
        // 포인트 선물 처리 로직 작성
        // 선물하는 회원의 포인트 차감
        $sql = "UPDATE {$g5['member_table']} SET mb_point = mb_point - ? WHERE mb_id = ?";
        sql_query($sql, [$present_point, $present_mb_id]);
        // 선물 대상 회원의 포인트 증가
        $sql = "UPDATE {$g5['member_table']} SET mb_point = mb_point + ? WHERE mb_id = ?";
        sql_query($sql, [$present_point, $target_mb_id]);
        // 선물 내역 로그 기록
        $present_memo = trim($_POST['pg_memo']);
        $present_time = G5_TIME_YMDHIS;
        $present_ip = $_SERVER['REMOTE_ADDR'];
        $sql = "INSERT INTO {$g5['point_table']} (mb_id, po_datetime, po_content, po_point, po_ip)
                VALUES (?, ?, ?, ?, ?)";
        sql_query($sql, [$present_mb_id, $present_time, $present_memo, -$present_point, $present_ip]);
        $sql = "INSERT INTO {$g5['point_table']} (mb_id, po_datetime, po_content, po_point, po_ip)
                VALUES (?, ?, ?, ?, ?)";
        sql_query($sql, [$target_mb_id, $present_time, $present_memo, $present_point, $present_ip]);
        // 선물 완료 메시지 출력 후 창 닫기
        echo "<script>alert('포인트를 성공적으로 선물하였습니다.'); window.close();</script>";
        exit;
    }
}
include_once(G5_PATH.'/tail.sub.php');
?>

<div id="point_gift" class="new_win">
    <h1 id="win_title"><i class="fa fa-database" aria-hidden="true"></i> <?php echo $g5['title'] ?></h1>
    <div class="new_win_con">
        <form name="fgiftform" action="<?php echo $point_gift_action_url ?>" onsubmit="return fgiftform_submit(this);" method="post" autocomplete="off">
            <div class="form_01">
                <h2 class="sound_only"><?php echo $g5['title'] ?></h2>
                <ul>
                    <li>
                        <label for="me_recv_mb_id" class="sound_only">받는 회원아이디<strong>필수</strong></label>
                        <input type="text" name="me_recv_mb_id" id="me_recv_mb_id" required class="frm_input full_input required" size="47" placeholder="받는 회원아이디">
                    </li>
                    <li>
                        <label for="point" class="sound_only">받는 회원아이디<strong>필수</strong></label>
                        <input type="text" name="point" id="point" required class="frm_input full_input required" size="20" placeholder="선물할 포인트">
                    </li>
                    <li>
                        <span class="sound_only">자동등록방지</span>
                        <?php echo captcha_html(); ?>
                    </li>
                </ul>
            </div>
            <div class="win_btn">
                <input type="submit" value="보내기" id="btn_submit" class="btn_submit">
                <button type="button" onclick="window.close();" class="btn_close">창닫기</button>
            </div>
        </form>
    </div>
</div>
<script>
function fgiftform_submit(f)
{
    <?php echo chk_captcha_js();?>
    return true;
}
</script>

참고 하세요.

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

회원로그인

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