닉네임으로 id값 가져오는 방법 질문
본문
포인트 보내기 팝업창에서 아이디는 너무 번거로워서 닉네임으로 보낼 수 있게 하려고 하는데 잘 안되어서 질문드립니다.
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
해당 사용자가 닉 변경도 고려하셔야 할 것 같습니다
답변을 작성하시기 전에 로그인 해주세요.