회원정보 수정 애러, 도와주세요 ㅜㅜ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

회원정보 수정 애러, 도와주세요 ㅜㅜ 정보

회원정보 수정 애러, 도와주세요 ㅜㅜ

본문

외원정보 수정시
회원정보가 수정되었습니다.

나온 후에.

비밀번호가 틀립니다. 가 바로 나오구요.

그리고 페이지가.
register_form_update.php 페이지로 넘어가 버립니다. ㅠㅠ

뭐가 문제인지 감도 안옵니다.. ㅠㅠ 도와주세요.ㅠㅠ


http://jhyun5025.cafe24.com/

테스트 id :test 
비번: test
로그인 하셔서 정보수정 한번만 봐주세요.ㅠㅠ
아무것도 안하고 정보수정 해도 패스워드가 틀립니다로 나옵니더. ㅜㅜ

질문이 너무 광범위한것은 알지만, 도저히 방법이 없어  질문드립니다.ㅜㅜ

꼭 도움 부탁드립니다.. 꾸벅..
  • 복사

댓글 전체

맞는지 모르겠는데,
<!--DWLayoutTable-->
라는 테이블 태그가 잘못 설정된것 같아 보이네요.

크롬 분석창으로 열어봤더니, form 이 전체 내용을 다 담지 못하고, 그자리에서 닫혀버립니다.

<form id="fregisterform" name="fregisterform" method="post" onsubmit="return fregisterform_submit(this);" enctype="multipart/form-data" autocomplete="off"></form>

그 위를 봤더니 많은 table 태그들이 정신없이 사용되었던데,
열고 닫음이 맞지 않아서, form 태그가, 아래 입력부분을 다 담지 못하여, 내용을 전달하지 못하는 것 같습니다.. 아닐 수도 있구요.. ^^;
register_form_skin.php 파일 말씀하시는거죠. ㅠㅠ

이 파일은 하나도 손 안대고, basic 그대로에서, 필드 인풋만 추가해 준거거든요.ㅠㅠ

원래 있던 초기 파일로 복구시켜서 해도 똑같이 패스워드가 틀립니다라고 나옵니다..
도와주세요. ㅠㅠ
아. 전진 님이셨군요..
저번에 감사했습니다..  게시판 첨부파일요 ㅎㅎㅎ
말씀하신데로 했더니 잘 해결됬었습니다 ^^v

그리고 이거는 혹시몰라서 말씀하신데로 좀 table이 복잡해보여서
해드파일에 있는 테이블들 다 삭제하고 해봐도 똑같이 나옵니다.

그문제는 아닌것 같아요. ㅠㅠ
답글 달았다가 지웠습니다.. 제가 잘못 봤네요.. ^^;

음.. 정보는 수정되는 것 같은데, 비밀번호 체크와 새 값으로 고치는 것이 안되는 것 같네요?
역시 잘 모르겠습니다. -_-;

또 수정합니다. ---
head 없이 하는 경우에, 크롬에서는 정보수정도 안되네요..
말씀하시는 비밀번호 틀리다는 메세지도 더이상 안나오고요..
도움이 못되어서 죄송합니다. -_-
원인을 찾았습니다. ㅜㅜ

regster_form.php 에



if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]) && !($member[mb_password] == sql_old_password($_POST[mb_password]) && $_POST[mb_password]))
        alert("패스워드가 틀립니다.");

요게 추가가 되어있네요.ㅠㅠ

분명 제가 추가한것일테고뭔가의 기능때문에 추가한것일텐데,, 전혀 모르곘습니다,, ㅠㅠ

이거 빼버리고 나서 뭔가 문제가 생기는건 안일지 걱정이네요 ㅠㅠ

그래도 일단 원인을 찾아서 다행이라 생각은 듭니다. ^^

혹시 요거 뭐에쓰이는건지 아시면 도움 부탁드립니다. ㅎㅎ
제가 제로보드에서 이사를 왔습니다.

그래서, 로그인이 안되길래,알아봤더니,

예전에는 MySQL 4.0  지금은 5.1.인가 그렇구요.
케릭터셋도 틀렸구요.

이거때문에 패스원드가 MySQL 4.0 떄하고 방식이 틀리다고 하더라구요.(잘모름)

그래서 검색해보니 아래글이 나와서,
아래대로 했더니 로그인이 잘 됩니다,

근데 문제는 수정이 안되네요.ㅠㅠ

이거 방법 없을까요??

도움 부탁드립니다. ^^

http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=214028&sca=&sfl=wr_subject%7C%7Cwr_content&stx=register+%EC%A0%9C%EB%A1%9C%EB%B3%B4%EB%93%9C&sop=and
위 패스워드 체크하는 부분이 mysql 4.0 때의 암호화와 4.1이후의 암호화가 달라서 넣으신 코드 같네요.. ^^

http://gnuboard.org/read/%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C/%ED%8C%81#mysql암호화 버전문제

그런데, 이 코드와 정보수정(form_update)가 충돌한다는 거죠? ^^;

그런데, 위 코드는 그누보드 버전 (4.33.11 이후)에서는 주석처리 된것 같아요..
실제로 패스워드 검사하는 부분은 다음처럼 바꼈습니다.
아래 내용이 없으시면 최신버전으로 업데이트 하시는 것도 방법일것 같네요..

    if ($_POST['mb_password']) {
        // 수정된 정보를 업데이트후 되돌아 온것이라면 패스워드가 암호화 된채로 넘어온것임
        if ($_POST['is_update'])
            $tmp_password = $_POST['mb_password'];
        else
            $tmp_password = sql_password($_POST['mb_password']);

        if ($member['mb_password'] != $tmp_password)
            alert("패스워드가 틀립니다.");
    }
아. 찾아보니 지금은 안쓰는 코드를 수정한거였네요.

그래서.
    if ($_POST['mb_password']) {
        // 수정된 정보를 업데이트후 되돌아 온것이라면 패스워드가 암호화 된채로 넘어온것임
        if ($_POST['is_update'])
            $tmp_password = $_POST['mb_password'];
        else
{
            $tmp_password = sql_password($_POST['mb_password']);
$tmp_old_password = sql_old_password($_POST['mb_password']);
}

        if ($member['mb_password'] != $tmp_password && $member['mb_password'] != $tmp_old_password)
            alert("패스워드가 틀립니다.");
    }

이러게 해서 old password 를 넣었더니 잘됩니다. ㅎㅎㅎ 감사합니다.

전진님한테 도움만 받네요 ㅎㅎㅎ
© SIRSOFT
현재 페이지 제일 처음으로