묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
세션 변수가 안읽혀요...
2002.06.07 07:06
친구가 관리자 로그인 어쩌구...
게시판 만들어달래서...
만들어주구 있는데...
제가 php는 로그인하는거 첨이라서 잘 모르겠네요..
아래와 같이 했는데 어째 제가 뭘 잘못한거 같아요..
그냥 관리자만 로그인하면 되는데 세션변수 어케 쓰는지 좀 가르쳐주세요..
어디서 여러개 강좌 보긴 했는데 으으 php 첨하다보니까;;;
loginForm.php 中
<?
if ( !$HTTP_SESSION_VARS["logged_id"] )
{
//<!--로그인안했을때 보여주는거-->
echo($HTTP_SESSION_VARS["logged_id"]);
echo("
<form name="login" method="post" action="login.php">
<input type="text" name="id" size=10>
<input type="password" name="password" size=10>
<input type="submit" value="로그인">
</form>
");
}
else
{
echo($HTTP_SESSION_VARS["logged_id"]);
//--로그인했을때 보여주는거-->
echo("관리자 <a onFocus="blur();" href="logout.php">로그아웃</a>");
}
?>
login.php 中
<?
if ( $password == '0000' )
{
session_register("logged_id");
$logged_id = $id;
echo("<script language="JavaScript">location="../chory/mboard.php";</script>");
}
else
echo("<script language="JavaScript">window.alert("암호가 맞지 않습니다", "경고메시지");location="../chory/mboard.php";</script>");
?>
$HTTP_SESSION_VARS 말구 $GLOBALS를 써두 안되더라구여...
쿨럭... 뭐가 잘못된거지.... 으.. @_@
혹시 session_start(); 이거 써야 하는건가요?
언제 써야할지 모르겠네;;;
게시판 만들어달래서...
만들어주구 있는데...
제가 php는 로그인하는거 첨이라서 잘 모르겠네요..
아래와 같이 했는데 어째 제가 뭘 잘못한거 같아요..
그냥 관리자만 로그인하면 되는데 세션변수 어케 쓰는지 좀 가르쳐주세요..
어디서 여러개 강좌 보긴 했는데 으으 php 첨하다보니까;;;
loginForm.php 中
<?
if ( !$HTTP_SESSION_VARS["logged_id"] )
{
//<!--로그인안했을때 보여주는거-->
echo($HTTP_SESSION_VARS["logged_id"]);
echo("
<form name="login" method="post" action="login.php">
<input type="text" name="id" size=10>
<input type="password" name="password" size=10>
<input type="submit" value="로그인">
</form>
");
}
else
{
echo($HTTP_SESSION_VARS["logged_id"]);
//--로그인했을때 보여주는거-->
echo("관리자 <a onFocus="blur();" href="logout.php">로그아웃</a>");
}
?>
login.php 中
<?
if ( $password == '0000' )
{
session_register("logged_id");
$logged_id = $id;
echo("<script language="JavaScript">location="../chory/mboard.php";</script>");
}
else
echo("<script language="JavaScript">window.alert("암호가 맞지 않습니다", "경고메시지");location="../chory/mboard.php";</script>");
?>
$HTTP_SESSION_VARS 말구 $GLOBALS를 써두 안되더라구여...
쿨럭... 뭐가 잘못된거지.... 으.. @_@
혹시 session_start(); 이거 써야 하는건가요?
언제 써야할지 모르겠네;;;
댓글 6
-
다르
2002.06.07 10:44
세션변수가 들어가는 모든 php페이지엔 언제나 맨 위에 session_start(); 를 써줘야합니다. -
다르
2002.06.07 10:48
그리고 위에 암호가 맞을 때 세션처리후 이동시에 echo"자바스크립트..." 대신
Header ("Location: 원하는페이지");
저걸 써줘도 되요. 저도 초보지만... 참, Header를 쓸때는 그 윗부분에서 html코드같은게 출력된 것이 없어야합니다. -
Xu
2002.06.07 17:52
감사! -
Xu
2002.06.07 17:58
앗! 근데 session_start(); 이거 맨 위에 넣으니까
loginForm.php에서
Cannot send session cache limiter - headers already sent
이라구 나오는데요? -_-; 이건 뭐지.. -
MysteLEE
2002.06.21 12:57
<?
if ( $password == '0000' )
{
session_start();
$logged_id = $id;
session_register("logged_id");
echo("<script language=\"JavaScript\">location=\"../mystelee/mboard.php\";</script>");
}
else
echo("<script language=\"JavaScript\">window.alert(\"암호가 맞지 않습니다\", \"경고메시지\");location=\"../mystelee/mboard.php\";</script>");
?>
이걸로 바꿔보시고
세션변수는 일반변수에 특정값을 대입한 후, session_register() 를 이용해서 세션변수에 값을 저장하는 형태로 합니다. 그러니까 login 에서 session_register("logged_id"); 를 $logged_id = $id;
라고 해준것은 일단 규칙에 맞지 않는다라고 할수 있겠죠. 도대체 머가 logged_id 인줄 알고 인식을 하고 register 시킬 것이란 말인가? -_-;
세션변수가 저장될 곳은 php.ini 에 등록되어 있습니다. 그거 잘 알아보시고(DB로도 저장할 수 있습니다).
행운을 빕니다..^^; -
MysteLEE
2002.06.21 12:59
아...그리고 session 을 쓰기 위해선 항상 session_start(); 가 선행되어야 합니다.
php.ini 에서 auto_start 설정되어 있으면 괜찮지만요...^^;