서버이전과(utf -> euc-kr 변경)이후 로그인시 에러가납니다

· 2013-03-26 (화) 22:36:19 · 1708 · 3
카페24에서
PHP5.3 / Mysql 5.x UTF-8 서버를 PHP5.3 / Mysql 5.x EUC-KR 로 바꿔사용하였는데 회원가입과 로그인이 안되서 문제입니다....


select * from where mb_id = TRIM('cmw2787')

1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where mb_id = TRIM('cmw2787')' at line 1

error file : /bbs/login_check.php


이런 에러메시지가 뜨더군요.....

login_check.php는

<?
include_once("./_common.php");

$mb_id = $_POST[mb_id];
$mb_password = $_POST[mb_password];

if (!trim($mb_id) || !trim($mb_password))
alert("회원아이디나 패스워드가 공백이면 안됩니다.");

/*
// 자동 스크립트를 이용한 공격에 대비하여 로그인 실패시에는 일정시간이 지난후에 다시 로그인 하도록 함
if ($check_time = get_session("ss_login_check_time")) {
if ($check_time > $g4['server_time'] - 15) {
alert("로그인 실패시에는 15초 이후에 다시 로그인 하시기 바랍니다.");
}
}
set_session("ss_login_check_time", $g4['server_time']);
*/

$mb = get_member($mb_id);

// 가입된 회원이 아니다. 패스워드가 틀리다. 라는 메세지를 따로 보여주지 않는 이유는
// 회원아이디를 입력해 보고 맞으면 또 패스워드를 입력해보는 경우를 방지하기 위해서입니다.
// 불법사용자의 경우 회원아이디가 틀린지, 패스워드가 틀린지를 알기까지는 많은 시간이 소요되기 때문입니다.
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}

// 차단된 아이디인가?
if ($mb[mb_intercept_date] && $mb[mb_intercept_date] <= date("Ymd", $g4[server_time])) {
$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb[mb_intercept_date]);
alert("회원님의 아이디는 접근이 금지되어 있습니다.\\n\\n처리일 : $date");
}

// 탈퇴한 아이디인가?
if ($mb[mb_leave_date] && $mb[mb_leave_date] <= date("Ymd", $g4[server_time])) {
$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb[mb_leave_date]);
alert("탈퇴한 아이디이므로 접근하실 수 없습니다.\\n\\n탈퇴일 : $date");
}

if ($config[cf_use_email_certify] && !preg_match("/[1-9]/", $mb[mb_email_certify]))
alert("메일인증을 받으셔야 로그인 하실 수 있습니다.\\n\\n회원님의 메일주소는 $mb[mb_email] 입니다.");

$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
@include_once("$member_skin_path/login_check.skin.php");

// 회원아이디 세션 생성
set_session('ss_mb_id', $mb[mb_id]);
// FLASH XSS 공격에 대응하기 위하여 회원의 고유키를 생성해 놓는다. 관리자에서 검사함 - 110106
set_session('ss_mb_key', md5($mb[mb_datetime] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']));

// 3.26
// 아이디 쿠키에 한달간 저장
if ($auto_login) {
// 3.27
// 자동로그인 ---------------------------
// 쿠키 한달간 저장
$key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $mb[mb_password]);
set_cookie('ck_mb_id', $mb[mb_id], 86400 * 31);
set_cookie('ck_auto', $key, 86400 * 31);
// 자동로그인 end ---------------------------
} else {
set_cookie('ck_mb_id', '', 0);
set_cookie('ck_auto', '', 0);
}


if ($url)
{
$link = urldecode($url);
// 2003-06-14 추가 (다른 변수들을 넘겨주기 위함)
if (preg_match("/\?/", $link))
$split= "&";
else
$split= "?";

// $_POST 배열변수에서 아래의 이름을 가지지 않은 것만 넘김
foreach($_POST as $key=>$value)
{
if ($key != "mb_id" && $key != "mb_password" && $key != "x" && $key != "y" && $key != "url")
{
$link .= "$split$key=$value";
$split = "&";
}
}
}
else
$link = $g4[path];

goto_url($link);
?>
|

댓글 3개

저 에러는 언어셋이 달라서 생기는 문제가 아닙니다
select * from where <--- from 다음에 테이블명이 와야 하는데 없으니 에러난 것입니다
또한 위 소스에는 select * from where ~~이런 코드가 없습니다
아마도 login_check.skin.php 라는 화일에 무언가 만들어 넣은 것 같군요
그걸 보아야 진단 가능합니다
2013-03-27 (수) 09:25:44
login_check.skin.php 여기 있습니다

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 자신만의 코드를 넣어주세요.
?>
login_check.skin.php에 추가한 내용이 없군요
그렇다면 다른 화일이 있다는 얘긴데...
error file : /bbs/login_check.php 라고 했는데
위 소스에는 select *~~~이런 코드가 없으니 더 이상은 알 수 없군요
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
13-03-27 조회 897
13-03-27 조회 817
13-03-27 조회 1,174
13-03-26 조회 1,095
13-03-26 조회 1,709
13-03-26 조회 953
13-03-26 조회 1,679
13-03-26 조회 2,394
13-03-26 조회 1,039
13-03-26 조회 823
13-03-26 조회 970
13-03-26 조회 900
13-03-26 조회 958
13-03-26 조회 954
13-03-26 조회 971
13-03-26 조회 1,585
13-03-26 조회 1,167
13-03-26 조회 1,683
13-03-26 조회 2,689
13-03-26 조회 1,652