사용자가 볼 수있는 내용의 PHP 페이지가 있습니다. 이 페이지가 특정 외부 URL에서 POST 요청을 받으면 다른 페이지로 사용자를 리디렉션하고 싶습니다. 내가 '데PHP로 포스트 백을 모니터링 하시겠습니까?
문제는 다음과 같습니다
효율적인 방법으로 전송되는 I 요청에 대한 페이지를 모니터링 할 수 있습니까?
header()가 작동하지 않기 때문에 어떻게 실제로 리디렉션 할 수 있습니까?
감사합니다.
사용자가 볼 수있는 내용의 PHP 페이지가 있습니다. 이 페이지가 특정 외부 URL에서 POST 요청을 받으면 다른 페이지로 사용자를 리디렉션하고 싶습니다. 내가 '데PHP로 포스트 백을 모니터링 하시겠습니까?
문제는 다음과 같습니다
효율적인 방법으로 전송되는 I 요청에 대한 페이지를 모니터링 할 수 있습니까?
header()가 작동하지 않기 때문에 어떻게 실제로 리디렉션 할 수 있습니까?
감사합니다.
AJAX 스크립트를 사용하여 서버를 "핑 (ping)"하여 간헐적으로 변경 사항이 있는지 확인할 수 있습니다. 있는 경우 자바 스크립트로 사용자를 리디렉션하십시오.
거의 유일한 방법입니다.
우리는 POST 요청을
if($_POST['flag']==1) {
header("location:newpage.php");
exit();
}
하지만 두 번째 질문에 대해 AJAX
header ('Location : ...')를 호출 한 후에 exit를 호출하는 것을 잊지 마십시오. –
를 사용하는 것보다 사용자의 개입없이 정기적으로 요청을 확인하려면, 헤더를 확인하려면이 조각을 넣을 수 있습니다()는 페이지에 정보를 출력하기 전에 사용하면 작동합니다. 그러나, 전에 에코, 인쇄 또는 HTML이 있으면 오류가 발생합니다.
: Toad의 의견에 따라 Aaron Harun이 제안한대로해야합니다. $ _POST 데이터처럼 $ _POST 데이터를 데이터베이스 또는 파일에 저장하십시오 (위생적인지 확인하십시오!). 그런 다음 AJAX를 사용하여 저장 한 모든 위치에서 업데이트 된 데이터의 존재 여부를 단순히 확인하는 두 번째 PHP 페이지에서 응답해야합니다. 응답이 다시 돌아 오면 JavaScript 리디렉션을 사용하여 리디렉션합니다.
AJAX를 사용하지 않고이를 수행하는 유일한 방법은 HTML 메타 새로 고침 요소를 사용하여 시간 간격으로 페이지를 새로 고침하여 $ _POST 데이터가 수신되었는지 확인하는 것입니다. HTML은 새로 고침을 수행하고 PHP는 검사를 수행하며 리디렉션 중 하나를 사용할 수 있습니다.
질문은 리디렉션되는 페이지에 대한 것이 아닙니다 ... 다른 페이지로 이동하여 이미 리디렉션 된 페이지에 관한 것입니다 – Toad
무엇이 ping입니까? 나는 외부 게시물이 언제 올지 예측할 수 없다. – Rebecca
PHP 파일 자체. 외부 ping은 클라이언트 측에서 검색 할 수있을 때까지 임시 파일이나 데이터베이스에 저장해야합니다. –