WebApp/PHP2010. 8. 13. 15:38
브라우저에 헤더 메시지를 보냄으로써 페이지 이동을 할 수 도 있다.

이 전에 헤더 메시지에 대한 소량의 설명을 하도록 하겠다.
헤더 메시지는 서버와 클라이언트간 본격적으로 송수신하기 전에 있어서 필요한 정보들을 사전에 나누는 것이다.
클라이언트의 브라우저 정보(Firefox, IE 등), 서버의 웹 서버 정보(IIS, Apache 등), 본격적으로 주고받을 데이터의 MIME Type등을 그 내용으로 보낸다.
또한 헤더 메시지로 리다이렉트 정보 또한 전송할 수 있다.
헤더 메시지는 본격적으로 데이터를 주고 받기 전에 보내는 사전 작업이기 때문에 HTML 코드 등의 데이터를 전송한 다음에 헤더 메시지를 보내게 되면 상호간에 오류가 나므로 주의해야 한다.

PHP에서는 header() 함수를 활용하여 헤더 정보를 보낼 수가 있으며, 페이지 이동을 위한 코드는 다음과 같다.
header('Location: http://www.example.com/');
Location을 콜론(:) 이후의 주소로 이동하라는 헤더 메시지이다. 여기에서는 http://www.example.com/이 되겠다.

만약 일정 시간 후에 페이지 이동을 하도록 하려면, sleep() 함수를 이용하면 된다.
sleep(5);
header('Location: http://www.example.com/');
위와 같이 작성하면 5초 후에 페이지 이동이 되지만, 5초 동안 사용자는 공백의 화면을 보고 있어야 한다. 만약 페이지를 이동하기 전에 사용자에게 로딩, 경고 및 안내 화면을 보여주고자 한다면 HTML의 메타 태그를 이용한 방법이나, 자바스크립트를 이용한 페이지 이동 방법을 사용하기 바란다. (포스트 하단에 링크 첨부하였다.)

앞서 말했지만 데이터 전송 전에 보내도록 되어있는 헤더 메시지의 특성 때문에, 페이지를 로드하고 일정 시간 뒤에 다른 페이지로 이동하는 방법은 구현할 수가 없다.(클라이언트가 로드할 데이터가 주어지기도 전에 헤더 메시지가 먼저 주어지기 때문이다.)

---
HTML 페이지 이동(http://studio2b.tistory.com/32)
Javascript 페이지 이동(http://studio2b.tistory.com/33)
PHP를 이용한 Header 페이지 이동(http://studio2b.tistory.com/34)

'WebApp > PHP' 카테고리의 다른 글

Post방식을 통한 파일 업로드File Upload  (0) 2010.10.21
foreach 배열 반복  (0) 2010.08.12
다차원배열의 구성  (0) 2010.06.26
array_merge()  (0) 2010.06.25
Form과 Input 태그로 배열 넘기기  (0) 2010.06.24
Posted by 마이클