2014-01-09 59 views
0

我想將當前網址與變量連接起來,然後在腳本末尾推送到該新網址。到目前爲止,我有轉到在PHP腳本末尾的新網址

$url = $_SERVER['REQUEST_URI']; 

$url2 = $file; 

$url3 = $url . $url2; 

如何將用戶推送到$ url3。我不能使用標題,我相信這是因爲我在腳本中創建了一個html文件。

回答

1

您可以使用header(),你只需要確保你沒有你的電話到header()之前運行任何echo,而且你不必在一個PHP腳本的開頭任何多餘的空格或行(第一<?php之前,我敢打賭,你看到的錯誤是「頭已經發送」。

header("Location: " . $url3); 

或者你可以重複一個JS重定向在腳本的結尾。假設你在瀏覽器中運行這個。

+0

+1也許說明如何使用標題或重定向(赦免雙關語)到文檔。它會是header('Location:url'); – Rottingham

+0

大聲笑。看起來他已經試過了,因爲他知道他不能使用它。但是,謝謝。我會將其添加到我的答案中。 –

+0

我在它之前運行了回聲。網址的變化應該發生在一切之後。 – Ken

0

您可以使用javascript重定向來回顯html:

echo "<script>self.location='$url3'</script>" 
0

如果你已經發送了一些輸出到客戶端,你希望'能夠做到這一點,除非你會打印一個JavaScript。

echo '<script type="text/javascript> window.location = \''.$url3.'\';</script>'; 

雖然這不是一個好方法,但是這個腳本可能會在關閉標籤後出來。爲了避免它嘗試緩衝你的輸出。

在你的PHP代碼開頭添加ob_start()

那麼,在年底嘗試:ob_end_flush()

然後,你將能夠發送頭。

0

添加到您的腳本的末尾:

echo <<< EOF 
<script type="text/javascript" language="JavaScript">location.href = '$url3';</script> 
EOF;