관리자페이지에서 회원정보수정시 추가 필드 저장안되는 문제..

관리자페이지에서 회원정보수정시 추가 필드 저장안되는 문제..

QA

관리자페이지에서 회원정보수정시 추가 필드 저장안되는 문제..

본문

제목이 좀 난해하긴 한데 ㅠㅠ

 

내용은 다음과 같습니다.

 

제가 그누보드 기본기능에 있는 차단기능에 지정 기간이 지나면 차단이 자동으로 해제되도록 하기 위해

 

필드 하나를 추가 했습니다.

 

sql 에서 mb_expire_ban 이라고 해서 필드도 추가 해줬고

 

adm/member_form.php 에서 해당 필드에 값을 입력받도록 추가도 해줬고

adm/member_form_update.php 에서도 저장되도록 추가 해줬거든요

 

그리고 나서 회원관리페이지에서 회원 정보 수정에 들어가서 해당 필드에 값을 넣고 확인 눌러보면

분명 member_form_update 가 실행되는 중에는 sql 데이터베이스에 기록이 되는데

member_form.php로 다시 되돌아 오면서 값이 사라집니다.

어딜 봐도 삭제 구문이 없거든요?

왜이럴까요?ㅠㅠ

 

그리고 


$set_date = date('Ymd',time()-60*60*24*$mb["mb_expire_ban"]); //차단해제
sql_query("update {$g5['member_table']} set mb_intercept_date='',mb_expire_ban='' where mb_intercept_date<='$set_date' ");

이 코드를 member_form.php 어느 부분에 넣으면 회원관리페이지가 일그러지는건 왜 그런걸까요?

 

혹시 몰라서 member_form.php 파일 전문을 첨부합니다..

 

내용에 올리니 잘리고 이상해져서 링크로 첨부합니다.

 

추가] 이 문제는 extend/user.config.php 에 추가한 아래 소스 때문이었는데 어떻게 수정해 할까요?


$set_date = date('Ymd',time()-60*60*24*intval($member["mb_expire_ban"])); //차단 해제
sql_query("update {$g5['member_table']} set mb_intercept_date='',mb_expire_ban='' where mb_intercept_date<='$set_date' ");

아무래도 $member["mb_expire_ban"] 값이 제대로 전달 못받는거 같습니다.

왜 일까요?

이 질문에 댓글 쓰기 :

답변 1


extend/user.config.php
member_form_update.php

위 목록의 전체소스가 없기 때문에 정확한 판별은 힘들지만

 


adm/member_form.php    : 실제 업데이트 대상 정보
extend/user.config.php : adm 쪽에서 로그인한 관리자의 member 정보

수정과 확인의 대상이 같지않아 혼동으로 빚어지는 문제가 아닐까 생각해봅니다.

 

수정 전/후 로 각각 두 데이터를 동시에 비교해 보거나


SELECT mb_id, mb_expire_ban, mb_intercept_date
FROM g5_member
WHERE mb_id IN ('user-a', 'user-b');

 

또는 쿼리 자체를 출력해 확인해보는 방법이 도움이 될것 같습니다.


<?php
$sql = " update ... ";
echo '<h2>' . $sql . '</h2>';
sql_query($sql);
?>

 

추가로 현재 구성과 같은 extend/user.config.php 의 경우

어떤 페이지를 액세스 하던간에 매번 update 쿼리가 실행되는 형태일수 있는데

그보다는 hook 을 이용해 로그인 시점에 한번 수행되도록 하는 방법도 좋을것 같습니다.

https://sir.kr/manual/g5/288

확인해보니 user.config.php 파일을 회원정보 변수를 불러오기전에 불러오는것 같더라구요..
그래서 $member 변수에 값이 없었더라구요..
그래서 포기하고 로그인 체크쪽에 처리하도록 했는데 찜찜하군요..음..

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

회원로그인

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