닉네임으로 id값 가져오는 방법 질문

닉네임으로 id값 가져오는 방법 질문

QA

닉네임으로 id값 가져오는 방법 질문

답변 2

본문

포인트 보내기 팝업창에서 아이디는 너무 번거로워서 닉네임으로 보낼 수 있게 하려고 하는데 잘 안되어서 질문드립니다.

 

point_gift.php


<?php
include_once('./_common.php');
if ($is_guest)
    alert_close('회원만 이용하실 수 있습니다.');
$g5['title'] = "포인트 선물";
$point_gift_action_url = G5_HTTPS_BBS_URL."/point_gift_update.php";
?>
<div id="point_gift" class="new_win">
    <div style="text-align: center;" class="local_desc1">? 포인트선물</div>
    <div class="local_desc02 local_desc" style="text-align: center;">
        <p><strong style="display: block;">《 수수료 안내 》</strong><br>최소 100 포인트부터 선물할 수 있음<br>보낼 포인트의 10%는 수수료</p>
    </div>
    <div class="new_win_con">
        <form name="fgiftform" action="<?php echo $point_gift_action_url ?>" onsubmit="return fgiftform_submit(this);" method="post" autocomplete="off" style="text-align:center">
            <div>
                <input type="text" name="me_recv_mb_id" id="me_recv_mb_id" required class="frm_input full_input required" size="20" placeholder="상대방 닉네임" style="text-align:center"><br>
                <input type="text" name="point" id="point" required class="frm_input full_input required" size="20" placeholder="최소 100부터 가능" style="text-align:center">
            </div>
            <div class="win_btn">
                <button type="submit" id="btn_submit" class="btn_submit cta">
                    <span class="span">보내기</span>
                </button>
            </div>
        </form>
    </div>
</div>

 

point_gift_update.php


<?php
include_once('./_common.php');
 
if ($is_guest)
    alert('회원만 이용하실 수 있습니다.');
 
// 회원여부
$mb = get_member($me_recv_mb_id);
 
// 포인트 설정값
$max_point = 1000000;
$min_point = 100;
 
// 알람
if (!$mb['mb_id'])
    alert('존재하지 않는 회원입니다.');
 
if ($mb['mb_id'] == $member['mb_id'])
    alert('자신한테는 선물할 수 없습니다.');
 
if ($point > $max_point)
    alert('최대 선물 포인트는 '.number_format($max_point).'포인트 입니다.');
 
// 고정 수수료 비율 10%
$fee_rate = 0.1;
 
// 수수료 계산
$fee = $point * $fee_rate;
 
// 발송인의 포인트가 충분한지 확인
if ($member['mb_point'] < ($point + $fee))
    alert('포인트가 부족합니다.');
 
// 발송인의 포인트 차감 (선물 포인트 + 수수료)
insert_point($member['mb_id'], "-".($point + $fee), $mb['mb_nick']."님에게 ".number_format($point)."포인트를 선물했습니다. [수수료: ".number_format($fee)."포인트]", '@passive', $member['mb_id'], $member['mb_id']  .'-'.uniqid(''));
 
// 수령인에게 전체 포인트 추가
insert_point($mb['mb_id'], "+".$point, $member['mb_nick']."님한테서 ".number_format($point)."포인트를 선물받았습니다.", '@passive', $mb['mb_id'], $mb['mb_id'].'-'.uniqid(''));
 
// 'wadmin' 계정에 수수료 적립
insert_point('wadmin', "+".$fee, "발송인 ".$member['mb_id']."로부터 수수료 적립: ".number_format($fee)."포인트", '@passive', 'wadmin', 'wadmin-'.uniqid(''));
 
// 로그 파일을 읽고 마지막 순번을 결정
$filename = "./Point_log.txt";
if (file_exists($filename)) {
    $lines = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $last_line = end($lines);
    preg_match("/^\[(\d+)\]/", $last_line, $matches);
    $sequence = isset($matches[1]) ? (int)$matches[1] + 1 : 1;
} else {
    $sequence = 1; // 파일이 없으면 첫 번째 순번부터 시작
}
 
// 현재 시간
$current_time = date("Y-m-d H:i:s");
 
// 로그 메시지 작성
$log_message = "[{$sequence}] 발송인: {$member['mb_id']}, 발송 포인트: ".number_format($point).", 수령인: {$mb['mb_id']}, 수수료: ".number_format($fee).", 시간: {$current_time}\n";
 
// 로그 파일에 작성
$file = fopen($filename, "a") or die("파일을 열 수 없습니다.");
fwrite($file, $log_message);
fclose($file);
 
alert_close('포인트를 정상적으로 선물했습니다.');
?>

이 질문에 댓글 쓰기 :

답변 2

다음처럼 수정 하세요

<input type="text" name="me_recv_mb_id" ==> <input type="text" name="mb_nick"

 

// 회원여부

$mb = get_member($me_recv_mb_id); ==>

 

$mb_nick= trim($mb_nick);

$mb=sql_fetch("select mb_id,mb_nick from {$g5['member_table']} where mb_nick='$mb_nick' ");

mb_id 를 mb_nick 으로 변경하시면 가능합니다만

 

코드가 일부 수정을 더하셔야 합니다.

 

아래 링크를 참조 하시길 바랍니다.

 

https://www.happyjung.com/lecture/2896

 

해당 사용자가 닉 변경도 고려하셔야 할 것 같습니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 482
© SIRSOFT
현재 페이지 제일 처음으로