2011-02-06 5 views
0

첫 번째 PHP 웹 앱을 프로그래밍하고 있는데 궁금한 점이 있습니다.header() 외에 PHP로 내 사이트의 다른 페이지로 리디렉션하는 방법은 무엇입니까?

사용자를 x 사이트에서 동일한 사이트의 다른 페이지로 리디렉션하고 싶습니다. 어떻게해야합니까?

header()를 사용하는 방법 외에 다른 방법이 있습니까? 상대 경로를 사용하여 다른 방법이 있는지 궁금해하고 싶습니다.

기본적으로 내 페이지는 POST 변수를받으며 변수가 특정 요구 사항을 충족시키지 못하면 페이지가 다른 페이지로 리디렉션되도록합니다.

답변

2
  • $ _SERVER [ 'PHP_SELF'] 등을 사용하여 서버 sid에 절대 경로를 만들 수 있습니다.
  • 자바 스크립트를 사용할 수 있지만 자바 스크립트가 활성화 된 경우에만 작동합니다.
  • 상대방 주소를 허용하는 위치 대신 새로 고침을 사용하여 header()를 사용할 수 있습니다. 편집 : 새로 고침은 표준화되지 않았지만 내가 아는 모든 브라우저에서 작동합니다.
1

새로 고침이 발생하는 META 태그를 사용하거나 JavaScript를 사용하여 document.location을 설정할 수 있습니다. 하지만 왜? 다양한 $_SERVER 색인에서 현재 URL을 얻을 수 있으며 절대 URL로 변환하기 쉽습니다.

1

헤더가 가장 좋은 방법입니다. 서버 측에서 발생하며 사용자에게 선택권을 부여하지 않습니다. 자바 스크립트 리디렉션을 사용할 수도 있지만 클라이언트가 자바 스크립트를 사용할 수없는 경우 제대로 작동하지 않습니다. 또한 사용자가 끌 수있는 HTML META Refresh 리디렉션을 수행 할 수도 있습니다.

1

헤더가 가장 좋습니다. 당신이 사용하려는 경우 상대 경로는이 시도 : 그것은 뒤로 버튼 :

<meta http-equiv="refresh" content="0;url=relative/path"" /> 

당신 사용자를 망칠 수 있기 때문에

$curPath = dirname($_SERVER['PATH_INFO']) . "../relative/path"; 

또한이 작업을 수행하지 마십시오 메타 새로 고침 방법을 사용할 수 있습니다 또한 일부 자바 스크립트 사용할 수 있습니다 : 귀하의 문서 헤드에서

<script>window.location="relative/path"</script> 
1

을 시도 :

<meta http-equiv="Refresh" content="0; url=http://www.example.com/" /> 
,

아마도 모범 사례는 아닙니다.

관련 문제