예를 들면 로그인 페이지 같은 것으로 세션이 생성되어 있지 않으면 강제로 로그인 페이지로 이동 시키고, 로그인 하게 되면 메인 페이지로 이동 시킨다던지 하는 기능.
PHP 역시 웹 개발 언어인지라 역시 클라이언트 사이드에서 이동 시키는 방법과 서버 사이트에서 이동시키는 기능 두가지 모두 지원한다.
클라이언트 사이드에는 크게 2가지 메타 태그를 이용한 방법과 자바 스크립트를 이용한 방법이 있다.
- 메타 태그
<? echo "<meta http-equiv='refresh' content='0; url=target_url'>"; ?>
- 자바 스크립트
<? echo "<script> document.location.href='target_url'; </script>"; ?>
혹은
<? echo "<script> window.location.replace('target_url'); </script>"; ?>
를 쓰면 되며, 이건 어느 웹 개발언어를 쓰던 마찬가지다.
어차피 html 를 이용한 것이니까.
흔이
<? if (check) { .... Process .... } else { ?> <script> document.location.href='target_url'; </script> <? } ?>
이렇게 많이 쓰인다.
서버 사이드에서는
<? header("Location: target_url"); ?>
를 이용한다.
단, header 를 사용할 때는 사용하기 이전에 다른 Text 가 출력되지 않은 상태라야 한다.
즉, 클라이언트 단에 아무런 문자가 출력되지 않은 상태라야 사용 가능하며, 서버 사이드의 php 구문은 상관 없다. (물론 echo("...") 같은걸로 문자열을 출력했을 경우는 안된다.)