그누보드 사용자 입니다. 정보수정 창에서 mb_id 변경 어떻게 하는건지 알려주세요

그누보드 사용자 입니다. 정보수정 창에서 mb_id 변경 어떻게 하는건지 알려주세요

QA

그누보드 사용자 입니다. 정보수정 창에서 mb_id 변경 어떻게 하는건지 알려주세요

본문

register_form_update.php
<?
include_once("./_common.php");
include_once("$g4[path]/lib/mailer.lib.php");
$mb_10 = 1;
if($limited=="y") $mb_10 = 3;
// 리퍼러 체크
referer_check();
if (!($w == "" || $w == "u"))
    alert("w 값이 제대로 넘어오지 않았습니다.");
if ($w == "u" && $is_admin == "super") {
    if (file_exists("$g4[path]/DEMO"))
        alert("데모 화면에서는 하실(보실) 수 없는 작업입니다.");
}
// 자동등록방지 검사
//include_once ("./norobot_check.inc.php");
$mb_id = trim(strip_tags($_POST[mb_id]));
$mb_password = trim($_POST[mb_password]);
$mb_name = trim(strip_tags($_POST[mb_name]));
$mb_nick = trim(strip_tags($_POST[mb_nick]));
$mb_email = trim(strip_tags($_POST[mb_email]));
if ($w == '' || $w == 'u')
{
    if (!$mb_id) alert('회원아이디가 넘어오지 않았습니다.');
    if ($w == '' && !$mb_password) alert('패스워드가 넘어오지 않았습니다.');
    if (!$mb_name) alert('이름(실명)이 넘어오지 않았습니다.');
//    if (!$mb_nick) alert('별명이 넘어오지 않았습니다.');
//    if (!$mb_email) alert('E-mail 이 넘어오지 않았습니다.');
    if (preg_match("/[\,]?{$mb_id}/i", $config[cf_prohibit_id]))
        alert("\'$mb_id\' 은(는) 예약어로 사용하실 수 없는 회원아이디입니다.");
//    if (preg_match("/[\,]?{$mb_nick}/i", $config[cf_prohibit_id]))
//        alert("\'$mb_nick\' 은(는) 예약어로 사용하실 수 없는 별명입니다.");
    // 이름은 한글만 가능
    if (!check_string($mb_name, _G4_HANGUL_))
        alert('이름은 공백없이 한글만 입력 가능합니다.');
    // 별명은 한글, 영문, 숫자만 가능
    if (!check_string($mb_nick, _G4_HANGUL_ + _G4_ALPHABETIC_ + _G4_NUMERIC_))
        alert('별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다.');
    if ($w=='')
    {
        if (strtolower($mb_id) == strtolower($mb_recommend)) alert('본인을 추천할 수 없습니다.');
//        $sql = " select count(*) as cnt from $g4[member_table] where mb_nick = '$mb_nick' ";
//        $row = sql_fetch($sql);
//        if ($row[cnt])
//            alert("\'$mb_nick\' 은(는) 이미 다른분이 사용중인 별명이므로 사용이 불가합니다.");
//        $sql = " select count(*) as cnt from $g4[member_table] where mb_email = '$mb_email' ";
//        $row = sql_fetch($sql);
//        if ($row[cnt])
//            alert("\'$mb_email\' 은(는) 이미 다른분이 사용중인 E-mail이므로 사용이 불가합니다.");
    }
    else
    {
        // 자바스크립트로 정보변경이 가능한 버그 수정
        // 별명수정일이 지나지 않았다면
//        if ($member[mb_nick_date] > date("Y-m-d", $g4[server_time] - ($config[cf_nick_modify] * 86400)))
//            $mb_nick = $member[mb_nick];
//        // 회원정보의 메일을 이전 메일로 옮기고 아래에서 비교함
//        $old_email = $member[mb_email];
//        $sql = " select count(*) as cnt from $g4[member_table] where mb_nick = '$mb_nick' and mb_id <> '$mb_id' ";
//        $row = sql_fetch($sql);
//        if ($row[cnt])
//            alert("\'$mb_nick\' 은(는) 이미 다른분이 사용중인 별명이므로 사용이 불가합니다.");
//        $sql = " select count(*) as cnt from $g4[member_table] where mb_email = '$mb_email' and mb_id <> '$mb_id' ";
//        $row = sql_fetch($sql);
//        if ($row[cnt])
//            alert("\'$mb_email\' 은(는) 이미 다른분이 사용중인 E-mail이므로 사용이 불가합니다.");
    }
}
$mb_dir = "$g4[path]/data/member/".substr($mb_id,0,2);
// 아이콘 삭제
if ($del_mb_icon)
    @unlink("$mb_dir/$mb_id.gif");
$msg = "";
// 아이콘 업로드
$mb_icon = "";
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
    if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name]))
    {
        // 아이콘 용량이 설정값보다 이하만 업로드 가능
        if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
        {
            @mkdir($mb_dir, 0707);
            @chmod($mb_dir, 0707);
            $dest_path = "$mb_dir/$mb_id.gif";
            move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
            chmod($dest_path, 0606);
            if (file_exists($dest_path))
            {
                $size = getimagesize($dest_path);
                // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
                if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
                    @unlink($dest_path);
            }
        }
    }
    else
        $msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}

// 관리자님 회원정보
$admin = get_admin('super');

if ($w == "")
{
    $mb = get_member($mb_id);
    if ($mb[mb_id])
        alert("이미 가입한 아이디입니다.");
    $sql = " insert into $g4[member_table]
                set mb_id = '$mb_id',
                    mb_password = '".sql_password($mb_password)."',
                    mb_name = '$mb_name',
                    mb_jumin = '$mb_jumin',
                    mb_sex = '$mb_sex',
                    mb_birth = '$mb_birth',
                    mb_nick = '$mb_nick',
                    mb_nick_date = '$g4[time_ymd]',
                    mb_password_q = '$mb_password_q',
                    mb_password_a = '$mb_password_a',
                    mb_email = '$mb_email',
                    mb_homepage = '$mb_homepage',
                    mb_tel = '$mb_tel',
                    mb_hp = '$mb_hp',
                    mb_zip1 = '$mb_zip1',
                    mb_zip2 = '$mb_zip2',
                    mb_addr1 = '$mb_addr1',
                    mb_addr2 = '$mb_addr2',
                    mb_signature = '$mb_signature',
                    mb_profile = '$mb_profile',
                    mb_today_login = '$g4[time_ymdhis]',
                    mb_datetime = '$g4[time_ymdhis]',
                    mb_ip = '$_SERVER[REMOTE_ADDR]',
                    mb_level = '$config[cf_register_level]',
                    mb_recommend = '$mb_recommend',
                    mb_login_ip = '$_SERVER[REMOTE_ADDR]',
                    mb_mailling = '$mb_mailling',
                    mb_sms = '$mb_sms',
                    mb_open = '$mb_open',
                    mb_open_date = '$g4[time_ymd]',
                    mb_1 = '$mb_1',
                    mb_2 = '$mb_2',
                    mb_3 = '$mb_3',
                    mb_4 = '$mb_4',
                    mb_5 = '$mb_5',
                    mb_6 = '$mb_6',
                    mb_7 = '$mb_7',
                    mb_8 = '$mb_8',
                    mb_9 = '$mb_9',
                    mb_10 = '$mb_10' ";
    // 이메일 인증을 사용하지 않는다면 이메일 인증시간을 바로 넣는다
    if (!$config[cf_use_email_certify])
        $sql .= " , mb_email_certify = '$g4[time_ymdhis]' ";
    sql_query($sql);
    // 회원가입 포인트 부여
    insert_point($mb_id, $config[cf_register_point], "회원가입 축하", '@member', $mb_id, '회원가입');
    // 추천인에게 포인트 부여
    if ($config[cf_use_recommend] && $mb_recommend)
        insert_point($mb_recommend, $config[cf_recommend_point], "{$mb_id}의 추천인", '@member', $mb_recommend, "{$mb_id} 추천");
    // 회원님께 메일 발송
    if ($config[cf_email_mb_member])
    {
        $subject = "회원가입을 축하드립니다.";
        $mb_md5 = md5($mb_id.$mb_email.$g4[time_ymdhis]);
        $certify_href = "$g4[url]/$g4[bbs]/email_certify.php?mb_id=$mb_id&mb_md5=$mb_md5";
       
        ob_start();
        include_once ("./register_form_update_mail1.php");
        $content = ob_get_contents();
        ob_end_clean();
       
        mailer($admin[mb_nick], $admin[mb_email], $mb_email, $subject, $content, 1);
    }
    // 최고관리자님께 메일 발송
    if ($config[cf_email_mb_super_admin])
    {
        $subject = $mb_nick . " 님께서 회원으로 가입하셨습니다.";
       
        ob_start();
        include_once ("./register_form_update_mail2.php");
        $content = ob_get_contents();
        ob_end_clean();
        mailer($mb_nick, $mb_email, $admin[mb_email], $subject, $content, 1);
    }
    // 메일인증 사용하지 않는 경우에만 로그인
    if (!$config[cf_use_email_certify])
        set_session("ss_mb_id", $mb_id);
    set_session("ss_mb_reg", $mb_id);
}
else if ($w == "u")
{
    if (!trim($_SESSION["ss_mb_id"]))
        alert("로그인 되어 있지 않습니다.");
    if ($_SESSION["ss_mb_id"] != $_POST[mb_id])
        alert("로그인된 정보와 수정하려는 정보가 틀리므로 수정할 수 없습니다.\\n\\n만약 올바르지 않은 방법을 사용하신다면 바로 중지하여 주십시오.");
    $sql_password = "";
    if ($mb_password)
        $sql_password = " , mb_password = '".sql_password($mb_password)."' ";
    $sql_icon = "";
    if ($mb_icon)
        $sql_icon = " , mb_icon = '$mb_icon' ";
    $sql_nick_date = "";
    if ($mb_nick_default != $mb_nick)
        $sql_nick_date =  " , mb_nick_date = '$g4[time_ymd]' ";
    $sql_open_date = "";
    if ($mb_open_default != $mb_open)
        $sql_open_date =  " , mb_open_date = '$g4[time_ymd]' ";
    $sql_sex = "";
    if (isset($mb_sex))
        $sql_sex = " , mb_sex = '$mb_sex' ";
    // 이전 메일주소와 수정한 메일주소가 틀리다면 인증을 다시 해야하므로 값을 삭제
    $sql_email_certify = "";
    if ($old_email != $mb_email && $config[cf_use_email_certify])
        $sql_email_certify = " , mb_email_certify = '' ";
                // set mb_name         = '$mb_name', 제거
    $sql = " update $g4[member_table]
                set mb_nick         = '$mb_nick',
     mb_name         = '$mb_name',
                    mb_password_q   = '$mb_password_q',
                    mb_password_a   = '$mb_password_a',
                    mb_mailling     = '$mb_mailling',
                    mb_sms          = '$mb_sms',
                    mb_open         = '$mb_open',
                    mb_email        = '$mb_email',
                    mb_homepage     = '$mb_homepage',
                    mb_tel          = '$mb_tel',
                    mb_hp           = '$mb_hp',
                    mb_zip1         = '$mb_zip1',
                    mb_zip2         = '$mb_zip2',
                    mb_addr1        = '$mb_addr1',
                    mb_addr2        = '$mb_addr2',
                    mb_signature    = '$mb_signature',
                    mb_profile      = '$mb_profile',
                    mb_1            = '$mb_1',
                    mb_2            = '$mb_2',
                    mb_3            = '$mb_3',
                    mb_4            = '$mb_4',
                    mb_5            = '$mb_5',
                    mb_6            = '$mb_6',
                    mb_7            = '$mb_7',
                    mb_8            = '$mb_8',
                    mb_9            = '$mb_9',
                    mb_10           = '$mb_10'
                    $sql_password
                    $sql_icon
                    $sql_nick_date
                    $sql_open_date
                    $sql_sex
                    $sql_email_certify
              where mb_id = '$_POST[mb_id]' ";
    sql_query($sql);
    // 인증메일 발송
    if ($old_email != $mb_email && $config[cf_use_email_certify])
    {
        $subject = "인증확인 메일입니다.";
        $mb_md5 = md5($mb_id.$mb_email.$member[mb_datetime]);
        $certify_href = "$g4[url]/$g4[bbs]/email_certify.php?mb_id=$mb_id&mb_md5=$mb_md5";
       
        ob_start();
        include_once ("./register_form_update_mail3.php");
        $content = ob_get_contents();
        ob_end_clean();
       
        mailer($admin[mb_nick], $admin[mb_email], $mb_email, $subject, $content, 1);
    }
}

// 사용자 코드 실행
@include_once ("$g4[path]/skin/member/$config[cf_member_skin]/register_update.skin.php");

if ($msg)
    echo "<script language='JavaScript'>alert('{$msg}');</script>";
if ($g4[https_url])
    $https_url = "$g4[https_url]/$g4[bbs]";
else
    $https_url = ".";
if ($w == "") {
    goto_url("{$https_url}/register_result.php");
} else if ($w == "u") {
    if ($mb_password)
        $tmp_password = $mb_password;
    else
        $tmp_password = get_session("ss_tmp_password");
    if ($old_email != $mb_email && $config[cf_use_email_certify]) {
        set_session("ss_mb_id", "");
        alert("회원 정보가 수정 되었습니다.\\n\\nE-mail 주소가 변경되었으므로 다시 인증하셔야 합니다.", $g4[path]);
    } else {
        echo "
        <html><title>회원정보수정</title><meta http-equiv='Content-Type' content='text/html; charset=$g4[charset]'></html><body>
        <form name='fregisterupdate' method='post' action='{$https_url}/register_form.php'>
        <input type='hidden' name='w' value='u'>
        <input type='hidden' name='mb_id' value='{$mb_id}'>
        <input type='hidden' name='mb_password' value='{$tmp_password}'>
        </form>
        <script language='JavaScript'>
        alert('회원 정보가 수정 되었습니다.');
        document.fregisterupdate.submit();
  location.href = '../index.html';
        </script>
        </body>
        </html>";
    }
}
?>
register_form.php
<?
include_once("./_common.php");
if ($w == "") {
    // 회원 로그인을 한 경우 회원가입 할 수 없다
    // 경고창이 뜨는것을 막기위해 아래의 코드로 대체
    // alert("이미 로그인중이므로 회원 가입 하실 수 없습니다.", "./");
    if ($member[mb_id])
        goto_url($g4[path]);
    // 리퍼러 체크
    referer_check();
/*
    if (!$_POST[agree])
        alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.", "./register.php");
    if (!$_POST[agree2])
        alert("개인정보보호정책의 내용에 동의하셔야 회원가입 하실 수 있습니다.", "./register.php");
*/
    // 주민등록번호를 사용한다면 중복검사를 합니다.
    if ($config[cf_use_jumin]) {
        $jumin = sql_password($mb_jumin);
        $row = sql_fetch(" select mb_name from $g4[member_table] where mb_jumin = '$jumin' ");
        if ($row[mb_name]) {
            if ($row[mb_name] == $mb_name)
                alert("이미 가입되어 있습니다.");
            else
                alert("다른 이름으로 같은 주민등록번호가 이미 가입되어 있습니다.\\n\\n관리자에게 문의해 주십시오.");
        }
        // 주민등록번호의 7번째 한자리 숫자
        $y = substr($mb_jumin, 6, 1);
        // 성별은 F, M 으로 나눈다.
        // 주민등록번호의 7번째 자리가 홀수이면 남자(Male), 짝수이면 여자(Female)
        $sex = $y % 2 == 0 ? "F" : "M";
        // 생일은 8자리로 만든다 (나중에 검색을 편하게 하기 위함)
        // 주민등록번호 앞자리를 그냥 생일로 사용함 ㅠㅠ
        // 주민등록번호 7번째 자리를 따져서...
        $birth = substr($mb_jumin, 0, 6);
        if ($y == 9 || $y == 0) // 1800년대생 (계시려나?)
            $birth = "18" . $birth;
        else if ($y == 1 || $y == 2) // 1900년대생
            $birth = "19" . $birth;
        else if ($y == 3 || $y == 4) // 2000년대생
            $birth = "20" . $birth;
        else // 오류
            $birth = "xx" . $birth;
    }
    $member[mb_birth] = $birth;
    $member[mb_sex] = $sex;
    $member[mb_name] = $mb_name;
    $g4[title] = "회원 가입";
}
else if ($w == "u")
{
 $_POST[mb_password] = $mb_password;
    if ($is_admin)
        alert("관리자의 회원정보는 관리자 화면에서 수정해 주십시오.", $g4[path]);
    if (!$member[mb_id])
        alert("로그인 후 이용하여 주십시오.", $g4[path]);
    if ($member[mb_id] != $mb_id)
        alert("로그인된 회원과 넘어온 정보가 서로 다릅니다.");
    if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]))
        alert("패스워드가 틀립니다.");
    // 수정 후 다시 이 폼으로 돌아오기 위해 임시로 저장해 놓음
    set_session("ss_tmp_password", $_POST[mb_password]);
    //if ($member[mb_id] == "xxx") alert("xxx 변경 불가");
    $g4[title] = "회원 정보 수정";
} else
    alert("w 값이 제대로 넘어오지 않았습니다.");
// 회원아이콘 경로
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
include_once("./_head.php");
//include_once("./norobot.inc.php"); // 자동등록방지
if($sc_id=="aa081"){
 include_once("$member_skin_path/register_form_limited.skin.php");
}else{
 include_once("$member_skin_path/register_form.skin.php");
}
//include_once("./_tail.php");
?>
 
 
안에 소스 코드 어떤걸 수정해야하나요?
 

이 질문에 댓글 쓰기 :

답변 1

mb_id는 수정할 수 없게 되어있습니다
아이디를 수정기능을 넣으려면 모든 게시판에 등록된 게시물의 아이디도 수정해야 하고 포인트 테이블 등
여러 곳을 수정해야 합니다


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

회원로그인

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