php5 mysql5 로 변경 후 로그인 문제 정보
php5 mysql5 로 변경 후 로그인 문제본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 : http://cnote.co.kr
안녕하세요.
php5로 버전 변경 후 로그인부분에 문제가 생겼습니다.
아이디와 비밀번호를 입력 후 로그인버튼을 클릭하거나 또는 엔터를 쳐서 login_check.php로
값을 넘기는 부분에서 문제가 생겻는데요,
이게 오류 메세지가 뜨는것도 아니고, "Internet Explorer에서 웹 페이지를 표시할 수 없습니다."
라고 나오네요..
경로에는 분명히 문제가 없습니다. -새로 고침시 '회원아이디나 패스워드가 공백이면 안됩니다.'
라는 메세지를 띄우니까요..
이유가 뭔지 모르겠습니다.
어디를 어떻게 수정을 해줘야 할지...
도움좀 부탁드립니다.
오류 주소 : http://cnote.co.kr
안녕하세요.
php5로 버전 변경 후 로그인부분에 문제가 생겼습니다.
아이디와 비밀번호를 입력 후 로그인버튼을 클릭하거나 또는 엔터를 쳐서 login_check.php로
값을 넘기는 부분에서 문제가 생겻는데요,
이게 오류 메세지가 뜨는것도 아니고, "Internet Explorer에서 웹 페이지를 표시할 수 없습니다."
라고 나오네요..
경로에는 분명히 문제가 없습니다. -새로 고침시 '회원아이디나 패스워드가 공백이면 안됩니다.'
라는 메세지를 띄우니까요..
이유가 뭔지 모르겠습니다.
어디를 어떻게 수정을 해줘야 할지...
도움좀 부탁드립니다.
댓글 전체
mysql3 랑 mysql4 랑 패스워드 길이가 다르기때문에, 생기는 문제같네요.
제경우랑 달라서 확신할수 없지만.. 패스워드길이 문제가 없을수는 없을듯하네요
/lib/common.lib.php 에 다음 함수를 추가 합니다.
function sql_old_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
/bbs/login_check.php의 15라인을 다음과 같이 수정 합니다.
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] and sql_old_password($mb_password) != $mb[mb_password]))
/bbs/register_form.php의 73라인을 다음과 같이 수정
if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]) && !($member[mb_password] == sql_old_password($_POST[mb_password]) && $_POST[mb_password]))
이렇게 하시면 쉽게 해결되실거에요.
제경우랑 달라서 확신할수 없지만.. 패스워드길이 문제가 없을수는 없을듯하네요
/lib/common.lib.php 에 다음 함수를 추가 합니다.
function sql_old_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
/bbs/login_check.php의 15라인을 다음과 같이 수정 합니다.
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] and sql_old_password($mb_password) != $mb[mb_password]))
/bbs/register_form.php의 73라인을 다음과 같이 수정
if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]) && !($member[mb_password] == sql_old_password($_POST[mb_password]) && $_POST[mb_password]))
이렇게 하시면 쉽게 해결되실거에요.
"Internet Explorer에서 웹 페이지를 표시할 수 없습니다." 라는 에러는 로그인이 된 후에 goto_url 함수에 정해진 대로 가는데 거기에서 경로를 못찾는 것일 수 있습니다. <form>을 보면 <input type="hidden" name="url" value="%2Fmain%2F">이라고 되있는데 이 경로를 못찾는거죠.
config.php에서 $\g4['url'] = 'http://cnote.co.kr';이라고 변경하고 테스트 해보세요.
config.php에서 $\g4['url'] = 'http://cnote.co.kr';이라고 변경하고 테스트 해보세요.
두분 모두 답변 감사합니다^^ 이건 뭐.. 몰라서 올린 질문이라고 할수밖에 없겠네요 ㅎㅎ
호스팅업체에서 php5로 버전 변경중에 오류가 있었다고 합니다.
폼전송 부분에 있어서 생긴 문제였고 지금은 해결되엇습니다.
두분 모두 답변 정말 감사합니다^^
호스팅업체에서 php5로 버전 변경중에 오류가 있었다고 합니다.
폼전송 부분에 있어서 생긴 문제였고 지금은 해결되엇습니다.
두분 모두 답변 정말 감사합니다^^