묻고답하기
외부페이지에서 세션변수가 안먹습니다.
2011.11.09 16:32
현재 사용버전은 1.4.5.10 입니다.
XE세션외 별도 세션을 이용하위해
a.php 라는 파일에서 세션값을 등록
b.php 파일에서 특정세션값이 있으면 내용을 보여주고 없으면 다시 a.php 파일로 돌려보냅.
-------------------------
문제는 XE가 아닌 일반 파일에서는 정상적으로 위 상황이 구현이 됩니다.
그런데 b.php 파일을 XE에서 별도의 test라는 외부페이지 모듈에 넣고 테스트를 해보면 세션이 인식이 안되네요.
a.php 파일
<?
session_start();
//session_register("adult");
$_SESSION['check']= "Y";
?>
<script type="text/javascript">
alert('<?=$_SESSION['check']?>');
location.href="/xe/test";
</script>
b.php파일 (외부페이지 모듈 /xe/test 파일)
<?
if($_SESSION['check']==""){
echo("
aaaa
");
}
else{
echo"bbb";
}
?>
이렇게 하면 출력이 aaa만 나옵니다. 즉 세션값을 못받아 내고 있는거지요.
혹시나 해서 b.php 파일을
<!--@if($_SESSION['check']=="")-->
aaaa
<!--@else-->
bbb
<!--@end-->
이렇게 변경해 보아도 역시 마찮가지 입니다.
또한 b.php 파일을
<?
define('__ZBXE__', true);
require_once('./config/config.inc.php');
$oContext = &Context::getInstance();
$oContext->init();
if($_SESSION['check']==""){
echo("aaaa");
}
else{
echo("bbb");
}
?>
이런식으로 넣어줘도 마찮가지네요.
외부페이지 모듈에 들어가는 페이지 (XE 설치폴더내에 b.php 파일이 있습니다.) 에 세션이 적용되게 하는 방법을 아시는분 조언 부탁드립니다.
외부페이지 내용부분에선 세션이나 쿠키가 안먹네요. ㅡㅡ;;
다행히 레이아웃에서 먹어서 레이아웃에서 처리를 했네요. 그나마 세션값이 있는지 여부만 확인하는거라 큰 문제는 없었네요.