2012-07-25 48 views
1

我可以使用header()重定向到多個URL之間的時間差?假設我有url1和url2。現在,我想要的是該標題首先重定向到url1。然後說,5秒後,它將我重定向到url2。有沒有辦法可以做到這一點? 我嘗試以下簡單的代碼PHP標題重定向到多個URL有時間差距

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

但這種立即帶我去URL2。我想要兩者之間的時間差距。如何做到這一點?提前致謝。

+0

使用'js'而不是 – k102 2012-07-25 06:42:16

+0

任何提示如何在JS中實現? – saur 2012-07-25 06:42:48

+0

你應該接受最有幫助的答案 – Martin 2012-07-25 11:44:44

回答

0

由於subirkumarsao,Martin和Edmunds指出,內聯框架是要走的路。 下面是最終的代碼:

<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

這不是它的工作原理。重定向會帶你到一個新的頁面......然後頁面將不得不做下一個重定向。你應該這樣做:

第1頁:

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

第2頁:

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

我無法修改url1的源代碼。任何其他方式? – saur 2012-07-25 06:50:54

+0

不是。我想你可以通過啓動一個單獨的窗口做一些特別迂迴的事情,讓該窗口在父窗口中觸發重定向,然後關閉它自己......但是這既是可憐的形式,也是相當複雜的。爲什麼你不能編輯中間頁面?如果你真的做不到,那麼也許你應該只是把數據推送到它或其他東西。也許你可以提供更多關於你實際嘗試做什麼的細節,因爲這整個場景似乎有點奇怪。 – techtheatre 2012-07-27 21:14:17

1

不,你不能這樣做。這兩個標題立即被髮送到瀏覽器,後者覆蓋第一個。您可以在網址前添加「刷新:X」,但僅適用於發送的最後一個標頭(將被重定向到的URL)。

其實我沒有看到任何方法來實現這一點,除非你控制什麼是在url1上或使用一些技巧與框架。

+0

這是正確的。我也沒有任何控制url1。是否有可能定義兩個網站與框架之間的時間差距? – saur 2012-07-25 06:57:50

+0

這有幫助。謝謝!! – saur 2012-07-25 08:52:28

+0

那麼你可以做的是重定向到你控制的url0,並在那裏創建一個包含100%寬度和100%高度的iframe並加載url1的頁面。然後從url0的頁面做header(「Location:url2」)。 – Edmunds 2012-07-25 08:58:27

0

當您被重定向到url1時,您不再擁有控制權來執行其他重定向。

您需要從url1url2專門重定向到url1

您也可以嘗試的iframe,如果你沒有在url1

+0

是否可以使用iframe定義兩個網址之間的時間差? – saur 2012-07-25 06:56:38

+0

您需要加載一個iframe,然後通過javascript更改url的間隔。 – 2012-07-25 06:57:58

+0

這有幫助。謝謝! – saur 2012-07-25 08:52:49

0

在頭控制:

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

,並在身體的:

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

乾杯

+0

我對url1沒有任何控制權。任何其他方式? – saur 2012-07-25 06:54:08

+0

@saur我編輯了答案。 – Martin 2012-07-25 07:24:27

+0

也幫助了我!謝謝! – saur 2012-07-25 08:53:09