2012-10-22 4 views
-1

javascript 함수 setTimeout 내에서 내 PHP 코드를 사용하는 데 문제가 있습니다. 이 코드는 php 파일에 있지만 대신 웹 페이지의 인덱스 페이지로 사용자를 보내는 5 분을 기다려야하는 것처럼 행동하는 대신 즉시 처리됩니다. 어떤 아이디어?자바 스크립트에서 setTimeout 내의 PHP를 사용합니다.

<script> 
    setTimeout(function() { <?php header('Location: /index.html'); ?> }, 300000); 
</script> 
+1

PHP 페이지의 시작 부분 이외에는 헤더를 설정할 수 없습니다. – gcochard

+0

헤더는 주로 예제 목적이었고, 나는 그 코드 조각에서 훨씬 더 복잡한 PHP 코드를 사용할 계획이다. 방금 예제로 간단한 PHP 함수를 사용하여 내 질문을 할 것이라고 생각했습니다. – Twisterz

답변

2

예 :

여기에 코드입니다. 그것은 PHP 코드가 서버 측이기 때문에 먼저 실행되기 때문입니다. 따라서 코드를 수정해야합니다 :

<script> 
    setTimeout(function() { window.location.href='/index.html' }, 300000); 
</script> 
+0

어쨌든 PHP가 먼저 실행되지 않도록하고,이 코드 스 니펫 (리다이렉트가 아닌 다른 것들도 포함)에서 PHP를 사용해야하기 때문에 정확한 시간까지 실제로 대기합니다. – Twisterz

+0

@Twisterz : 아니 .. 당신은 javascript와 PHP가 어떻게 작동하는지에 대한 근본적인 오해가있다. PHP는 클라이언트에서 자바 스크립트로 서버에서 실행됩니다. 브라우저가 자바 스크립트를 실행하게되면 PHP는 완전히 벗어납니다. – Evert

+0

@Twisterz 페이지가 브라우저에 도착하기 전에 PHP가 실행됩니다. – sachleen

관련 문제