2012-07-25 3 views
1

header()를 사용하여 시간 간격을두고 여러 URL로 리디렉션 할 수 있습니까? 내가 url1과 url2 있다고 가정합시다. 자, 내가 원하는 것은 헤더가 url1로 리디렉션된다는 것입니다. 5 초 후에 url2로 리디렉션됩니다. 내가 할 수있는 방법이 있니? 나는 다음과 같은 간단한 코드PHP 헤더가 시간차가있는 여러 URL로 리디렉션

<?php 
header("Location: url1"); 
header("Location: url2"); 
?> 

을 시도하지만이 URL2 즉시 내게됩니다. 나는 그 사이에 시간차를 원해. 어떻게 할 수 있습니까? 미리 감사드립니다.

+0

대신에 JS를 사용합니다. – k102

+0

JS에서 구현하는 방법은 무엇입니까? – saur

+0

가장 도움이 된 대답을 받아 들여야합니다. – Martin

답변

0

으로 : 몸에

<script language="JavaScript"> 
var time = null 
function move() { 
myiframe.location.href = 'url2'; 
} 
</script> 

이를 subirkumarsao, Martin과 Edmunds가 지적한 iframe은 갈 길입니다.

<html> 
<iframe src="url1" width="500" height="500"> </iframe> 
</html> 

<?php 
include('exp2.php'); 
?> 

지금 exp2.php가 제출 버튼 (이 프레임의 하단에 표시)가 next.php 나를 취 여기에 마지막 코드입니다. 그리고 next.php 코드는 다음과 같습니다.

<?php 
header("Location:url2"); 
exit(); 
?> 
4

이것이 작동하는 방식은 아닙니다. 리디렉션을 통해 새 페이지로 이동하면 페이지가 다음 리디렉션을 수행해야합니다.

PAGE 1 : 당신은 같은 것을해야

<?php 
header("Location: url1"); 
exit(); 
?> 

2 페이지 :

<head> 
<meta http-equiv="refresh" content="5; URL=url2"> 
</head> 
+0

url1의 소스 코드를 수정할 수 없습니다. 다른 어떤 방법으로? – saur

+0

아닙니다. 별도의 창을 시작하여 그 창에서 부모 창에서 리디렉션을 트리거 한 다음 자체를 닫는 방법으로 특히 원형 교차로를 수행 할 수 있다고 가정합니다 ... 그러나 이는 모두 형편이 아니며 다소 복잡합니다. 중개 페이지를 편집 할 수없는 이유는 무엇입니까? 당신이 정말로 할 수 없다면, 아마도 당신은 단지 데이터를 그걸 또는 뭔가에 푸시해야 할 것입니다. 이 시나리오 전체가 다소 이상하게 보일 수 있으므로 실제로 수행하려고 시도하는 것에 대해 더 자세한 정보를 제공 할 수 있습니다. – techtheatre

1

아니, 당신은 할 수 없습니다. 두 헤더는 즉시 브라우저로 보내지며, 후자의 헤더는 첫 번째를 덮어 씁니다. URL 앞에 '새로 고침 : X'를 추가 할 수 있지만 전송 된 마지막 헤더 (리디렉션되는 URL)에 대해서만 작동합니다.

실제로 url1에있는 것을 제어하거나 프레임과 함께 일부 트릭을 사용하지 않는 한이를 수행 할 방법이 없습니다.

+0

이 맞습니다.또한 url1에 대한 제어권이 없습니다. 프레임이있는 두 개의 URL 사이에 시간 간격을 정의 할 수 있습니까? – saur

+0

도움이되었습니다. 감사!! – saur

+0

당신이 할 수있는 일은 url0으로 리다이렉트하여 100 % 너비와 100 % 높이의 iframe을 포함하고 url1을 내부에로드하는 페이지를 만들고 제어하는 ​​것입니다. 그리고 url0의 페이지에서 헤더 ("Location : url2")를 수행하십시오. – Edmunds

0

url1으로 리디렉션되면 더 이상 다른 리디렉션을 할 수 없습니다.

url1에서 url2까지 url1으로 리디렉션해야합니다.

머리글에서 url1

+0

iframe을 사용하여 두 개의 URL 사이에 시간 간격을 정의 할 수 있습니까? – saur

+0

iframe을로드 한 다음 javascript를 통해 간격을두고 url을 변경해야합니다. –

+0

도움이되었습니다. 감사! – saur

0

제어 해달라고 경우는 iframe을 시도 할 수 있습니다 :

<body onload="timer=setTimeout('move()',2000)"> //where 2000 is 2 seconds 
<iframe id="myiframe" name="myiframe" src="url1"> </iframe> 

건배

+0

url1을 (를) 제어 할 수 없습니다. 다른 어떤 방법으로? – saur

+0

@saur 답변을 편집했습니다. – Martin

+0

나를 도왔다 !! 감사! – saur