회원정보의 여분필드 정보 지워지는 문제... 채택완료
달의아해
11년 전
조회 5,610
관리자화면에서 회원정보의 여분필드1 에 필요한 정보를 적어서 사용하고 있습니다.
그 정보로 회원별로 게시판의 특정 카테고리만 볼 수 있도록 연동해서 사용하는데요...
회원이 직접 자신의 정보를 수정하고 나면... 이상하게도 여분필드1 에 있었던 정보가 사라집니다...
이게 그누보드의 버그 일까요? 아니면 제가 스킨을 잘못 적용해서 그런걸까요?
이 문제때문에 상당히 골치가 아프네요.. ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
11년 전
그누보드 버그는 아니구요 /bbs/register_form_update.php 300번 정도 update 구문중에 mb_1 = '$mb_1', 이부분을 삭제해주세요 회원이 입력한 것이 아니기 때문에 지워지는거에요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
11년 전
아침안개님, 균이님 답변 처럼 하면 되지만 그 외 방법으로 편리님 게시글 링크 겁니다.
http://sir.co.kr/bbs/board.php?bo_table=g5_bug&wr_id=1714&sca=&sfl=wr_subject%7C%7Cwr_content&stx=mb_1">http://sir.co.kr/bbs/board.php?bo_table=g5_bug&wr_id=1714&sca=&sfl=wr_subject%7C%7Cwr_content&stx=mb_1
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
아썸
10년 전
접근권한이 없는 링크인데.. 혹시 따로 공개해주실 수 있나요?
�
이두박근
10년 전
이제 봤네요;;
버그 게시판이 비공개가 되면서 이제는 볼수 없게 되었네요.
제 기억엔 아마 register_form_update.php의 54줄부터 수정합니다.
[code]
$mb_1 = isset($_POST['mb_1']) ? trim($_POST['mb_1']) : $member['mb_1'];
$mb_2 = isset($_POST['mb_2']) ? trim($_POST['mb_2']) : $member['mb_2'];
$mb_3 = isset($_POST['mb_3']) ? trim($_POST['mb_3']) : $member['mb_3'];
$mb_4 = isset($_POST['mb_4']) ? trim($_POST['mb_4']) : $member['mb_4'];
$mb_5 = isset($_POST['mb_5']) ? trim($_POST['mb_5']) : $member['mb_5'];
$mb_6 = isset($_POST['mb_6']) ? trim($_POST['mb_6']) : $member['mb_6'];
$mb_7 = isset($_POST['mb_7']) ? trim($_POST['mb_7']) : $member['mb_7'];
$mb_8 = isset($_POST['mb_8']) ? trim($_POST['mb_8']) : $member['mb_8'];
$mb_9 = isset($_POST['mb_9']) ? trim($_POST['mb_9']) : $member['mb_9'];
$mb_10 = isset($_POST['mb_10']) ? trim($_POST['mb_10']) : $member['mb_10'];
[/code]
"이렇게 수정하는게 어떻겠냐" 라는 토론글이었습니다.
관계자분께서 반대하고 적용하지 않았는데 이유는 기억이 안나네요;
위에 수정된 것은 아래와 같습니다.
"$member[mb_x] 값은 mb_x 가 POST로 넘어오면 받고 아니면 기존값을 계속 쓴다"
그래서 회원이 회원정보를 수정하더라도 정보가 사라지지 않습니다.
버그 게시판이 비공개가 되면서 이제는 볼수 없게 되었네요.
제 기억엔 아마 register_form_update.php의 54줄부터 수정합니다.
[code]
$mb_1 = isset($_POST['mb_1']) ? trim($_POST['mb_1']) : $member['mb_1'];
$mb_2 = isset($_POST['mb_2']) ? trim($_POST['mb_2']) : $member['mb_2'];
$mb_3 = isset($_POST['mb_3']) ? trim($_POST['mb_3']) : $member['mb_3'];
$mb_4 = isset($_POST['mb_4']) ? trim($_POST['mb_4']) : $member['mb_4'];
$mb_5 = isset($_POST['mb_5']) ? trim($_POST['mb_5']) : $member['mb_5'];
$mb_6 = isset($_POST['mb_6']) ? trim($_POST['mb_6']) : $member['mb_6'];
$mb_7 = isset($_POST['mb_7']) ? trim($_POST['mb_7']) : $member['mb_7'];
$mb_8 = isset($_POST['mb_8']) ? trim($_POST['mb_8']) : $member['mb_8'];
$mb_9 = isset($_POST['mb_9']) ? trim($_POST['mb_9']) : $member['mb_9'];
$mb_10 = isset($_POST['mb_10']) ? trim($_POST['mb_10']) : $member['mb_10'];
[/code]
"이렇게 수정하는게 어떻겠냐" 라는 토론글이었습니다.
관계자분께서 반대하고 적용하지 않았는데 이유는 기억이 안나네요;
위에 수정된 것은 아래와 같습니다.
"$member[mb_x] 값은 mb_x 가 POST로 넘어오면 받고 아니면 기존값을 계속 쓴다"
그래서 회원이 회원정보를 수정하더라도 정보가 사라지지 않습니다.
댓글을 작성하려면 로그인이 필요합니다.
11년 전
아침안개님 답변 처럼 하면 되고 그 외 방법
extend폴더에 화일을 하나 만들고 아래 내용을 넣으세요
if($w=='u' && isset($mb_id_enabled)){
$mb=get_member($member[mb_id]);
if(!$mb_1) $mb_1=$mb[mb_1];
if(!$mb_2) $mb_2=$mb[mb_2];
if(!$mb_3) $mb_3=$mb[mb_3];
~
~
mb_10까지 필요한 만큼
}
?>
두번째 방법
회원가입폼에 관리자에서 입력하는 여분필드 만큼 아래 태그를 만듭니다
~
~
mb_10까지 필요한 만큼
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인