테스트 사이트 - 개발 중인 베타 버전입니다

session에 관해.. -_-; 채택완료

민이당 10년 전 조회 2,436

if(mysql_num_rows($result))
{
$member_id=$row[0];
$member_pwd=$row[1];
$member_name=$row[2];
$member_email=$row[3];
$member_level=$row[4];



if($member_pwd==$passwd)
{
session_register("member_id", "member_name", "member_email", "member_level");
}

로그인 페이지에서 세션을 등록해 줬습니다.

이후 세션을 체크하는 파일을 하나 만들어서 require했습니다.

/*chk_login.php*/
<?
session_start();

if(!$HTTP_SESSION_VARS["member_id"])
{
echo "
<script>
alert('회원전용 메뉴!');
history.go(-1);
</script>";
exit;
}
?>

요놈을 페이지에서 require하는데 먹지를 안네용 -_-;;
<?
require "./chk_login.php";
include "../common/connect.php";

$result=mysql_query("select * from message where rid='$member_id' order by no desc");
$row=mysql_num_rows($result);
?>
-------이후 html하고..등등등.

지가 무식한지라 세션을 그냥 기본적으로 tmp/아래에 생성시켰구요.

register해준 값들은 잘 들어가 있는데도 ㅠ.ㅠ

세션체크를 이런방식으로 해야되는건가도 잘 몰르겠고..

이런방법으로 하는게 맞는건지도 궁금하구요.

고수분들 소스를 봐도 분석이 안되고...여러가지로 모잘랍니당.

그럼 답변 부탁드립니다

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
제가 고수는 아니구요 <br />
&amp;nbsp;require 가있는 부분에서 <br />
화일 처음에 session_start(); 한번 써보세요
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

p
10년 전

HTTP_SESSION_VARS 는 php 4.1 버전에서 deprecated 되었습니다. 

SESSION 으로 사용해주세요.

http://php.net/manual/kr/reserved.variables.session.php">http://php.net/manual/kr/reserved.variables.session.php 

$_SESSION 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10년 전

사용하신 $HTTP_*_VARS 변수는 아마 php.ini 설정 즉, 해당 변수를 사용할 수 있게 해 주는 설정(register_long_arrays)이 off가 기본으로 변경됐습니다(php 4.2부터).

지금 사용하시는 php 버전이 얼만지 모르겠지만 http://php.net/manual/en/ini.core.php#ini.register-long-arrays">http://php.net/manual/en/ini.core.php#ini.register-long-arrays 여기 보시면 5.4부터는 아예 제거가 된다고 하니 참고하시면 될 것 같네요.

 

$HTTP_SESSION_VARS 이걸 $_SESSION으로 바꿔서 사용해 보세요.

$HTTP_SESSION_VARS['member_id'] => $_SESSION['member_id']

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인