2013-07-23 2 views
1

내 코드는 다음과 같습니다 리디렉션하지 않습니다세션 후 작동

... 
$_SESSION['message']="something"; 
header('location:http://url/somewhere'); 
exit; 

당신이 볼 수 있듯이, 나는 그것의 끝에 출구가있다. 그리고 그것이 문제입니다. 거기에 출구가 있지만 작동하지 않습니다.

이 문제는 내 로컬 호스트에서만 발생합니다. 온라인 서버에서 제대로 작동합니다. 오류 로그에는 "정의되지 않은 색인 메시지"만 표시됩니다. 며칠 전에 새로운 Apache 2.4 및 PHP 5.4를 설치했습니다.

답변

3

당신이 그것을 사용하려는 모든 페이지에서 세션을 시작하는 것을 잊지 마세요 :

if(!isset($_SESSION)){ 
    session_start(); 
} 
0

추가주십시오 "으로 session_start를();" 모든 종류의 세션 데이터를 처리하는 모든 페이지의 시작 부분. 확인해야 할 또 다른 사항은 세션 변수를 올바르게 설정했는지 확인하는 것입니다. 또한 헤더를 사용하여 리디렉션하는 경우 문서 시작 부분에 공백이 없어야합니다.

+0

아니요. 내 문제는 아니며 문제를 해결하지 못합니다. 나는 session_start()를 작성하거나 header() 앞에 공백을 보내는 것을 잊지 않았다. –

+0

그러면 더 많은 정보를 제공 할 것을 제안합니다. 왜냐하면 우리에게 말하는 것이 문제가 될 수있는 것에 대한 단서를 제공하지 않기 때문입니다. –

+0

이 문제는 exit() 또는 die() 명령이 없기 때문에 정상적으로 발생합니다. 그러나 나는 당신이 볼 수있는 것처럼 그것을 가지고 있습니다. 온라인 서버에서 작동합니다. 내 로컬 호스트에서만 - PHP 5.4 Apache 2.4 Win XP SP3에서 세션 변수를 잃어 버렸습니다. 아파치 로그 쓰기 - $ _SESSION [ 'vars']에 대한 "정의되지 않은 색인". –