common.php 에서 사용자정의 세션 문제
본문
common.php 화일의 다음 부분에서 사용자가 정의한 ss_lang 이라는 세션변수를
확인 중 입니다.
set_session('ss_lang','en'); <- ss_lang에 en 이라는 값으로 정상적으로 들어갑니다.
echo get_session('ss_lang'); <- ss_lang에 지정된 en 값이 출력됩니다.
@session_start();
echo get_session('ss_lang'); <- session_start()를 거치고 나면 ss_lang에 kr 값으로 변경이 되어 있습니다.
- 카페24로 이전하기 전에는 다른 페이지에서 ss_lang 세션값을 변경한 것을
홈페이지의 원하는 부분에서 get_session 으로 불러서 사용했었는데, 서버이전 후에 위와 같이
현상이 발생하더군요.
어찌 이런일이 일어날까요? ㅠㅠ
답변 3
session_start();가 가장 위에 존재해야 하지 않나요?
세션을 다 만들고 세션스타트해버리면....음....
common.php에서 항상, 페이지가 열리때마다 sessio path를 정한 후 session_start를 하기 때문에
common.php를 include하는 페이지에서는 다시 session_start를하지말고
get_session / set_session 만 사용하면 됩니다
common.php를 include하지않은 페이지에서 위에서 설정한 세션값을 사용하려면
common.php와 동일한 session path를 설정하고 session start를 하면 됩니다
common.php안에 있는 @session_start() 를 사용하지 않고
세션변수가 필요한 페이지에 session_start()를 공통으로 사용하니 원하는 대로 변수를 사용할 수 있었네요.
session path 문제가 맞았던 것 같습니다.
감사합니다.