회원정보 수정 관련 문의 드립니다.
본문
현재 회원정보 수정을 들어가게 되면 비밀번호를 다시 입력 해야 되는 부분이 있는데
비밀번호를 입력 안하고 회원정보를 저장하게 할 수 있는 방법이 있을까요?
답변 1
가능한데 2개 파일을 수정해야 합니다.
원본소스까지 건드리는거라 추천하진 않습니다.
먼저 사용하시는 테마의 member_confirm.skin.php 파일을 수정합니다.
*목적은 회원정보 수정시 비밀번호 재확인 없이 회원 수정페이지로 변경되게 합니다.
<?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 수정입니다.
아래와 같은 내용을 찾아 주석처리 합니다.
<!-- 해당 부분 주석처리.
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('비밀번호가 틀립니다.');
}
-->
이렇게 하면 회원정보 수정 넘기자마자
회원정보 수정창이 뜨게 됩니다.
하지만 그누보드 원본파일을 수정하는 거라서 추후 업데이트시
문제가 되며, 다시 작업해야 될 수 있습니다.
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.