2012-09-10 2 views
0

내 mail.php 파일에서 오류 메시지를 호출 한 파일로 전달할 세션 변수를 만듭니다.한 파일에 설정된 세션 값이 다른 파일에서 읽을 수 없음

session_start(); 
if(something) { 
    $_SESSION['error'] = "something went wrong"; 
} 

나는 mail.php라는 파일을 읽으려고 :

if(!empty($_SESSION['error'])) { 
    echo $_SESSION['error']; 
} else { 
    echo "Email sent!"; 
} 

그러나 그것은 작동하지 않습니다. 두 파일의 페이지 상단에 session_start()를 호출합니다.

위해서 var_dump

이 제공 : 페이지를 다시로드 할 때

array(1) { ["error"]=> string(41) "Not all fields are filled in." } ­ 
+0

'mail.php' 어딘가에'unset ($ _ SESSION [ 'error'])'를 사용하고 있습니까? –

+1

세션 변수를 설정하기 전에 조건이 있습니다. 그것이 사실인지 확인하십시오. 다른 말로하면 코드를 디버그하십시오. – Leri

+0

@MihaiIorga No. – Veltar

답변

0

세션 변수에만 액세스 할 수 있습니다. 동일한 페이지로드에서는 액세스 할 수 없습니다. 나는이 isue도 만났다. 실행 명령 등에 따라 달라질 수 있습니다.

세션 변수가 설정되지 않은 경우 백업으로 전역 배열을 사용하려고 시도합니다.

if(!isset($_SESSION['var'])) $x = $_GLOBALS['var']; 
관련 문제