비밀번호찾기 채택완료
비밀번호찾기에서 계속 error가 나서 확인해보니,
회원정보의 mb_lost_certify 필드에는 15f005097a5b3a1c5b7e9a690b2b2d63 48ea4c103de9905e
이렇게 입력이 되어 있고 (※값의 중간에 공백이 있습니다.)
메일로 받은 확인 링크의 값은 15f005097a5b3a1c5b7e9a690b2b2d63로 정확히 공백까지만 끊겨서 받으니 비밀번호 변경이 되지 않습니다.
trim으로 $mb_nonce의 공백을 없애려고 해도 공백은 계속 들어가네요
아래는 소스입니다.
=============================================
// 임시비밀번호 발급 $change_password = rand(100000, 999999); $mb_lost_certify = get_encrypt_string($change_password);
// 어떠한 회원정보도 포함되지 않은 일회용 난수를 생성하여 인증에 사용 $mb_nonce = md5(pack('V*', rand(), rand(), rand(), rand())); $mb_nonce = trim($mb_nonce); // 임시비밀번호와 난수를 mb_lost_certify 필드에 저장 $sql = " update {$g5['member_table']} set mb_lost_certify = '$mb_nonce $mb_lost_certify' where mb_id = '{$mb['mb_id']}' "; sql_query($sql);
=============================================
답변 1개
답변에 대한 댓글 2개
여기 보시면 '$mb_nonce $mb_lost_certify' 여기 사이에 공백이 들어가있어서
mb_lost_certify 필드에 $mb_nonce + 공백 + $mb_lost_certify 값이 들어가는거같네요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
mb_lost_certify필드에는 공백이 들어가 있습니다.
해당 필드의 설정값은 아래와 같습니다.
mb_lost_certify varchar(255) utf8_general_ci 아니오 없음
$mb_lost_certify 값을 db에 입력하기전 echo로 확인해보니 공백앞까지만 출력되고
막상 db에 입력된 값은 공백 포함 공백 뒤부분까지 입력되어 있네요.
이게 무슨 경우인지...