2013-05-30 4 views
3

5 초 후에 다른 페이지로 이동하려고합니다. 잠자기 기능을 사용하고 있는데 어떤 이유로 아무 것도 인쇄되지 않고 인쇄 부분을 건너 뛴 것처럼 보입니다.PHP sleep() 함수 사용하기

그것은 다음과 같습니다

<?php 
echo "Thank you!"; 
sleep(5); 
?> 
<script type="text/javascript"> window.location = '?a=home'; </script> 
+2

당신은 당신이 사용하는 자바 스크립트에서 할 것을해야 할 경우'setTimeout' . 페이지가 표시되기 전에 PHP가 완료 ** **됩니다. – Jon

+0

그것은 건너 뛰는 것이 아니라 클라이언트에 렌더링되기 전에 잠 들어 있습니다. 귀하가 작성한 이벤트의 순서는 "5 초간 잠자기, 뭔가 인쇄, 다른 페이지로 이동"입니다. – David

+0

[sleep() 및 redirect로 PHP 문제가 발생할 수 있습니다] (http://stackoverflow.com/questions/12298909/php-issue-with-sleep-and-redirect) – Jon

답변

11

당신은 PHP를 제거해야 만 자바 스크립트 사용

<script type="text/javascript"> setTimeout(
function() { 
    window.location = '?a=home'; 
}, 5000); 
</script> 
+1

고맙습니다! 사이트에서 허용하는대로 귀하의 답변을 수락하겠습니다. –

0

내가 잠을 사용하는 것이 바로 프로그램 실행을 지연 것을 확신합니다. PHP 스크립트가 완료되고 잠자기 기능 때문에 PHP 스크립트가 실행되지 않을 때만 내용을 볼 수 있습니다.

2

당신이 할 자바 스크립트를 사용할 수 있습니다 :

setTimeout('window.location.replace("?a=home")',5000); 
+1

이 대답은 효과가 있지만'setTimeout'에서 코드에 문자열을 사용하는 것은 나쁜 습관입니다. 최고 득표 답변에 따라 함수로 작성하십시오. – Spudley

1

당신은 그것을 할 수 있습니다 당신은 여기서 더 많은 정보를 찾을 수 있습니다

<meta http-equiv="refresh" content="5;URL='?a=home'"> 

자바 스크립트 또는 헤더를 사용합니다. JS에서

:

<script> 
window.setTimeout('window.location = "?a=home"', 5000); //5000 = 5 secs 

사용하여 헤더 :

header('Refresh: 5;url=page.php?a=home'); // 5 = 5 secs 

관련 게시물 : How to Redirect Page in PHP after a few seconds without meta http-equiv=REFRESH CONTENT=time

관련 문제