세션(session) 이 사라지지 않는 경우 해결법
페이지 정보
작성자 MintState 댓글 0건 조회 13,517회 작성일 08-10-31 11:19본문
세션(session) 이 사라지지 않는 경우 해결법
PHP4에서 세션이 사라지지 않는 경우 해결법입니다.
세션이란 것이 세션 아이디를 클라이언트의 PC에 쿠키로 저장하게 되죠.
그런데 이부분에서 session_start()란 함수에서 문제가 있는지 브라우저가 종료되면 사라져야할 세션 아이디(쿠키)가 남습니다.
근데 우리가 직접 지정한 쿠키값은 이상없이 작동합니다.
이 점을 이용해서 해결책을 찾았습니다.
먼저 세션을 선언합니다.
그리고 세션 아이디를 다시 쿠키로 선언하는 거죠.
위에서 PHPSESSID는 서버마다 다를 수 있습니다. 자신의 서버에 세션 아이디가 어떤 이름으로 저장되는가를 알아내서 바꿔줘야 합니다.
위와 같이만 해서는 매번 세션아이디의 쿠키를 선언하게 됩니다.
아래와 같이 간단한 if문을 이용해서 한번만 선언하도록 바꾸면 더 좋겠습니다.
출처: http://www.phpschool.com Tip&Tech의 김정길님의 글
PHP4에서 세션이 사라지지 않는 경우 해결법입니다.
세션이란 것이 세션 아이디를 클라이언트의 PC에 쿠키로 저장하게 되죠.
그런데 이부분에서 session_start()란 함수에서 문제가 있는지 브라우저가 종료되면 사라져야할 세션 아이디(쿠키)가 남습니다.
근데 우리가 직접 지정한 쿠키값은 이상없이 작동합니다.
이 점을 이용해서 해결책을 찾았습니다.
먼저 세션을 선언합니다.
그리고 세션 아이디를 다시 쿠키로 선언하는 거죠.
session_start(); $PHPSESSID=session_id(); setcookie("PHPSESSID", $PHPSESSID, 0,"/");
위에서 PHPSESSID는 서버마다 다를 수 있습니다. 자신의 서버에 세션 아이디가 어떤 이름으로 저장되는가를 알아내서 바꿔줘야 합니다.
위와 같이만 해서는 매번 세션아이디의 쿠키를 선언하게 됩니다.
아래와 같이 간단한 if문을 이용해서 한번만 선언하도록 바꾸면 더 좋겠습니다.
session_start(); if ($HTTP_COOKIE_VARS[SESSION_CHECK] == "") { setcookie("SESSION_CHECK", "Y", 0, "/"); $PHPSESSID=session_id(); setcookie("PHPSESSID", $PHPSESSID, 0,"/"); }
출처: http://www.phpschool.com Tip&Tech의 김정길님의 글
|
댓글목록
등록된 댓글이 없습니다.