채택완료

회원정보 수정 관련 문의 드립니다.

2022-01-26 (수) 12:37:10 2,048

현재 회원정보 수정을 들어가게 되면 비밀번호를 다시 입력 해야 되는 부분이 있는데

비밀번호를 입력 안하고 회원정보를 저장하게 할 수 있는 방법이 있을까요?

답변 1개

채택된 답변
+20 포인트

가능한데 2개 파일을 수정해야 합니다.

원본소스까지 건드리는거라 추천하진 않습니다.

먼저 사용하시는 테마의 member_confirm.skin.php 파일을 수정합니다.

*목적은 회원정보 수정시 비밀번호 재확인 없이 회원 수정페이지로 변경되게 합니다.

Copy
<?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

 

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨

add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);

?>

 

<!-- 회원 비밀번호 확인 시작 { -->

<div id="mb_confirm" class="mbskin">

    <h1><?php echo $g5['title'] ?></h1>

 

    <p>

        <strong>비밀번호를 한번 더 입력해주세요.</strong>

        <?php if ($url == 'member_leave.php') { ?>

        비밀번호를 입력하시면 회원탈퇴가 완료됩니다.

        <?php }else{ ?>

        회원님의 정보를 안전하게 보호하기 위해 비밀번호를 한번 더 확인합니다.

        <?php }  ?>

    </p>

 

    <form name="fmemberconfirm" action="<?php echo $url ?>" onsubmit="return fmemberconfirm_submit(this);" method="post">

    <input type="hidden" name="mb_id" value="<?php echo $member['mb_id'] ?>">

    <input type="hidden" name="w" value="u">

 

    <fieldset>

        회원아이디

        <span id="mb_confirm_id"><?php echo $member['mb_id'] ?></span>

 

<?php

if($url!='member_leave.php') { //회원탈퇴시라면 기존처럼 동작되게 정보수정이라면 패스워드 입력창 안뜨게?>

 

    <label for="confirm_mb_password">비밀번호<strong class="sound_only">필수</strong></label>

        <input type="password" name="mb_password" id="confirm_mb_password" required class="required frm_input" size="15" maxLength="20">

 

<?}?>

 

        <input type="submit" value="확인" id="btn_submit" class="btn_submit">

    </fieldset>

 

    </form>

 

    <div class="btn_confirm">

        <a href="<?php echo G5_URL ?>">메인으로 돌아가기</a>

    </div>

 

</div>

 

<script>

 

<?php

if($url!='member_leave.php') { //회원탈퇴가 아니라면, 페이지 로딩되자마자 수정페이지로 submit 시킴?>

?>

 

$(document).ready(function() {

$("form[name='fmemberconfirm']").submit();

});

 

<?}?>

 

 

function fmemberconfirm_submit(f)

{

    document.getElementById("btn_submit").disabled = true;

 

    return true;

}

</script>

<!-- } 회원 비밀번호 확인 끝 -->

이번엔 bbs/regist_form.php 수정입니다.

아래와 같은 내용을 찾아 주석처리 합니다.

Copy
<!-- 해당 부분 주석처리.

   if ($_POST['mb_password']) {

        // 수정된 정보를 업데이트후 되돌아 온것이라면 비밀번호가 암호화 된채로 넘어온것임

        if ($_POST['is_update'])

            $tmp_password = $_POST['mb_password'];

        else

            $tmp_password = get_encrypt_string($_POST['mb_password']);

 

        if ($member['mb_password'] != $tmp_password)

            alert('비밀번호가 틀립니다.');

    }

-->

이렇게 하면 회원정보 수정 넘기자마자

회원정보 수정창이 뜨게 됩니다.

하지만 그누보드 원본파일을 수정하는 거라서 추후 업데이트시

문제가 되며, 다시 작업해야 될 수 있습니다.

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