2011-03-09 6 views
0

4 개의 파일이 있습니다.Smarty Sesssion 변수 문제

1. index.php 
2. index.tpl 
3. file2.php 
4. file2.tp 

나는 그 때 나는이

echo ($_SESSION['isVisible']); 

처럼 file2.php에서이 변수에 접근하고이

$_SESSION['isVisible'] = true; 

처럼의 index.php에서 세션 변수를 설정하고 있지만하지 않습니다 작업.

세션이 이미 Smarty에 의해 시작된 것으로 생각되어 수동으로 세션을 시작하지 않습니다.

어떻게이 변수에 액세스 할 수 있습니까?

답변

1

다음은 세션이 시작되었는지를 감지 여부를 도울 수있는 작은 조각이야,

은으로 session_start로 초기화 세션은 페이지의 디렉토리 트리 내에서 페이지를 사용할 수 있음은 물론 잊지 마세요 처음으로 그것을 만들었습니다.

멋지 현재 스크립트가 아닌 다른 SESSION_ID를 사용하는 이유는 설명 할 수

...

function session_is_started() { 
    if (isset($_SESSION)) { 
     return true; 
    } else { 
     return false; 
    } 
} 

if (!session_is_started()){ 
    session_start(); 
    $_SESSION['isVisible'] = true; 
} 

echo $_SESSION['isVisible']; 
+0

경고 :으로 session_start() [스타트 function.session] : 열려는() 실패 : 해당 파일이나 디렉토리 (2) index.php in line 17 경고 : session_start() [function.session-start] : 세션 쿠키를 보낼 수 없습니다 - 이미 보낸 헤더 (index.php : 17에서 시작한 출력)는 17 행의 index.php에 있습니다. 경고 : session_start() [function.session-start] : 세션 캐시 리미터를 보낼 수 없습니다 - 헤더가 이미 전송되었습니다 (index.php : 17에서 시작된 출력) index.php의 17 행 – qwera

+0

@Zahid Show u s index.php와 세션을 시작할 파일을 찾으십시오. session.start 코드는 index.php의 17 번째 줄에서 실행해야하지만 어디에 넣어야하는지 모르는 파일은 보지 않아도됩니다. – Belinda

+0

세션을 검사 할 때 isset ($ _ SESSION)을 사용하는 대신이 기능을 만드는 것이 더 간단하지 않습니까? – AntonioCS