로그인 과정에서의 에러메시지 발생 정보
그누보드 로그인 과정에서의 에러메시지 발생본문
그누보드를 공부하다가
제 나름대로 공부하면서 만든 로그인 과정에서 다음과 같은 에러메시지가 나오는데요 .
에러 메시지는 나오는데 정상적인 로그인은 이루어 집니다.
고수님들 해결해 주시면 고맙겠습니다.
========= 에러 메시지 내용 ========
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
====== 참고로 login.php 파일을 올립니다. 위 메시지는 이 파일이 실행되면서 발생하네요 =======
<?
$st_id = $HTTP_POST_VARS['st_id'];
$st_passwd = $HTTP_POST_VARS['st_passwd'];
include "config.php";
##### 데이터베이스에 연결
$db_conn = new class_main();
$db_conn->class_main();
##### 로그인하기 위해 입력한 아이디와 비밀번호가 일치하는 레코드를 검색한다.
$result = mysql_query("select st_passwd,st_name from st_member where st_id = '$st_id'");
$rows = mysql_num_rows($result);
##### 일치하는 회원정보가 없을 경우
if (!$rows) {
error("login_id_not_found");
exit;
} else {
##### 회원정보가 있을 경우 비밀번호 필드값을 가져온다.
$row = mysql_fetch_array($result);
$db_st_passwd = $row[st_passwd];
$db_st_name = $row[st_name];
##### 사용자가 입력한 비밀번호를 암호화한다.
$result = mysql_query("select password('$st_passwd')");
$user_st_passwd = mysql_result($result,0,0);
##### 두 비밀번호를 비교하여 일치하면 세션을 생성한다.
if(strcmp($db_st_passwd,$user_st_passwd)) {
error("login_invalid_pw");
exit;
} else {
if(headers_sent()) {
error ("HTTP_HEADERS_SENT");
exit;
} else {
##### 생성된 세션에 데이터를 저장할 세션 변수를 등록한다.
session_register("sess_id","sess_name","st_sid");
##### 등록된 세션 변수에 데이터를 저장한다.
$sess_id = $st_id;
$sess_name = $db_st_name;
$st_sid = session_id();
} //end <headers_sent>
// 페이지 이동 설정
move_page('0','index.php');
} // end <strcmp>
} // end
?>
제 나름대로 공부하면서 만든 로그인 과정에서 다음과 같은 에러메시지가 나오는데요 .
에러 메시지는 나오는데 정상적인 로그인은 이루어 집니다.
고수님들 해결해 주시면 고맙겠습니다.
========= 에러 메시지 내용 ========
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
====== 참고로 login.php 파일을 올립니다. 위 메시지는 이 파일이 실행되면서 발생하네요 =======
<?
$st_id = $HTTP_POST_VARS['st_id'];
$st_passwd = $HTTP_POST_VARS['st_passwd'];
include "config.php";
##### 데이터베이스에 연결
$db_conn = new class_main();
$db_conn->class_main();
##### 로그인하기 위해 입력한 아이디와 비밀번호가 일치하는 레코드를 검색한다.
$result = mysql_query("select st_passwd,st_name from st_member where st_id = '$st_id'");
$rows = mysql_num_rows($result);
##### 일치하는 회원정보가 없을 경우
if (!$rows) {
error("login_id_not_found");
exit;
} else {
##### 회원정보가 있을 경우 비밀번호 필드값을 가져온다.
$row = mysql_fetch_array($result);
$db_st_passwd = $row[st_passwd];
$db_st_name = $row[st_name];
##### 사용자가 입력한 비밀번호를 암호화한다.
$result = mysql_query("select password('$st_passwd')");
$user_st_passwd = mysql_result($result,0,0);
##### 두 비밀번호를 비교하여 일치하면 세션을 생성한다.
if(strcmp($db_st_passwd,$user_st_passwd)) {
error("login_invalid_pw");
exit;
} else {
if(headers_sent()) {
error ("HTTP_HEADERS_SENT");
exit;
} else {
##### 생성된 세션에 데이터를 저장할 세션 변수를 등록한다.
session_register("sess_id","sess_name","st_sid");
##### 등록된 세션 변수에 데이터를 저장한다.
$sess_id = $st_id;
$sess_name = $db_st_name;
$st_sid = session_id();
} //end <headers_sent>
// 페이지 이동 설정
move_page('0','index.php');
} // end <strcmp>
} // end
?>
댓글 전체
선환 님 !
정말 도움이 되었습니다.
두 번째 방법으로 해결했습니다.
정말 도움이 되었습니다.
두 번째 방법으로 해결했습니다.
php.ini 에서 session.bug_compat_42, session.bug_compat_warn 를 0 이나 off 로 해주시거나..
session_register 와 아이들 대신에.. $_SESSION 변수들을 사용하세요..
session_register 와 아이들 대신에.. $_SESSION 변수들을 사용하세요..