비밀번호 찾기 질문드립니다.

비밀번호 찾기 질문드립니다.

QA

비밀번호 찾기 질문드립니다.

답변 2

본문

사이트에서

비밀번호 찾기를 하면

메일까지는 잘 옵니다.

근데

 

password_lost_certify.php 파일에서 오류가 나네요;

코드를 보니


if (strlen($mb['mb_lost_certify']) < 33)
    die("Error")

 

위의 코드인데요.

 

그래서 g5_member 테이블을 살펴보니

mb_lost_certify 필드가 전부 값이 비어있습니다.

원래 값이 비어있는게 정상인가요?

 

 

회원가입쪽 비밀번호 관련 건드린건

비밀번호를 4자리가 아닌 특수문자 포함으로 변경한것 하나 뿐입니다.

 

 

이 질문에 댓글 쓰기 :

답변 2

기본적으로 비어있는게 정상입니다

비밀번호 찾기 했을경우에만 mb_lost_certfy값이 생성됩니다~

 

if (strlen($mb['mb_lost_certify']) < 33)

//mb_lost_certify 필드의 문자열 길이가 값이 33보다 작다면 죽어버리네요

 

 

다시 해보니
메일 받고

비밀번호 변경 버튼 누른뒤
나오는 로그인 창에서
로그인 하면
Error 가 출력되네요;


비밀번호 변경을 눌렀음에도
mb_lost_certify 값이 비어있다면 어디를 의심해 봐야할까요;

메일 오는것 보니
$mb_lost_certify 변수는 6자리 난수로 생성이 되는것 같구요..
$mb_nonce 는 오류난 주소창 보니

a2902a64e7ea0a8c97c0c7261fc66682

이렇게 난수로 생성되는것 같은데 도무지 왜 error 가 나오는지 모르겠네요;


실험해보니
password_lost_certify.php 파일의
마지막 alert 의 url 값을

G5_BBS_URL.'/login.php' --> G5_URL
로 변경해서 로그인하니 잘되네요-_-
login.php 문제였던 걸까요;

소스만 보시기 보다 해당 데이터 결과값이 잘 나오는가 출력을 해보시기 바랍니다. 

 

if (strlen($mb['mb_lost_certify']) < 33) 

여기서 조건이 mb_lost_crrtify 값이 33보다 작을경우 에러가 나게 되므로 에러가 난다는건 결과적으로 값이 없거나 33보다 작다는 이유 입니다. 정상적으로 mb_lost_certify값이 출이력이 되는지 살펴보시기 바랍니다.아니면 다른쪽에서 에러메세지를 출력하는지도 자세히 살펴보시기 바랍니다

db에는 값이 있는데 mb_lost_certify 비어있는건가요? 그러시면  mb_lost_certify 값을 정상적으로 못가지고 와서 생기는 현상입니다.
이 부분은 디버깅 해보셔야 할꺼 같습니다.

작업을하시다 다른쪽으로부터 영향을 받아서 못가지고 오기떄문에..이부분은 디버기 해보시며 원인을 찾아 해결할수 있을걸로 보여집니다.  궁금하신 사항인 쪽지로 부탁드리겠습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 164
© SIRSOFT
현재 페이지 제일 처음으로