해외 호스팅 서비스를 이용하다가 mysql dbd을 이전 하였습니다.
이전후 사용자와 관리자 아이디로 로그인이 안되는 문제가 발생이 됩니다.
추후에 발생할지 모르는 에러를 예방하기 위하여 기록해 둡니다.
다양한 증상들이 나타날수도 있는데 저의 경우는
Fatal error: Call to undefined function sql_password() in /home/youandi/public_html/bbs/login_check.php on line 25 이 나타납니다.
1./bbs/login_check.php 를 수정해 줍니다.
25번째 줄을 아래와 같이 수정해 줍니다.
if (!$mb[mb_id] || (sql_old_password($mb_password) != $mb[mb_password])) {
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}
가입된 회원이 아니란 메시가 뜹니다.
2..bbs/ register_form.php를 수정해 줍니다.
73번째 줄
//수정전
/*
if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]))
alert("패스워드가 틀립니다.");
// 수정합니다.
/*
if (!($member[mb_password] == sql_old_password($_POST[mb_password]) && $_POST[mb_password]))
alert("패스워드가 틀립니다.");
3./lib/common.lib.php
1125째 줄을 수정합니다.
//원본 1125번째
function sql_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
// 하위버전 DB 호환을 위해 password() --> old_password() 함수로 변경해줌.
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
//수정합니다.
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];
}
적용후 로그인 해보면 아래 에러가 발생이 된다.
Fatal error: Call to undefined function sql_password() in /home/youandi/public_html/bbs/login_check.php on line 26
(참고자료 : 그누질답란)
하지만 위의 방법이 안될 경우의 수도 있을수 있으니 참고 바랍니다.
그누보드 : 4.34.14버젼
'그누보드' 카테고리의 다른 글
글쓰기에는 $wr_id 값을 사용하지 않습니다. (0) | 2012.10.21 |
---|---|
그누보드에 설치된 홈페이지 다른곳으로 옮기기 (0) | 2012.10.21 |
그누보드 DB복구후 잘못된 접근입니다 에러 해결법 (0) | 2012.10.21 |
그누보드 게시판글 다른곳으로 불펌방지 팁 (0) | 2012.10.21 |
그누보드에 sms SMS4 베타 0.1.2 설치하기 (0) | 2012.10.21 |