2011-04-01 2 views
1

인 경우 특정 페이지가 표시되는지 여부에 따라 include_once을 사용하려고합니다.헤더 위치를 기반으로하는 문이

if (header('Location: inbox.php'){ 
    include_once('_class/message_core.php'); 
} 

모든 파일이 올바른 위치에 있는지 가정이 작동하지 않을 것을 어떤 이유가 여기있다 :

내가이 작업을 수행하려고 사용하고 무엇입니까?

+2

같은 줄에 코드의 끝 브래킷을 놓치고있어. header()는 요청에서 헤더를 가져 오지 않습니다. * 헤더를 보내므로 실제로 사용자에게 리디렉션하도록 스크립트에 지시합니다. –

+0

또한 '위치 :'는 요청 헤더가 아닌 응답 헤더입니다. 서버는 그것을 클라이언트로 보냅니다. –

답변

6

사용이 :

if ($_SERVER['REQUEST_URI'] === 'inbox.php') { 
    include_once '_class/message_core.php'; 
} 

$_SERVER는 헤더, 경로, 스크립트 위치 등의 정보를 포함하는 어레이이다. PHP documentation

이 응답 헤더를 설정하는 데 사용됩니다. 즉, header('Location: inbox.php')이 실제로 사용자를 리디렉션합니다.

은 또한 당신은 헤더() 함수가 어떻게 작동되지 않는 if

관련 문제