2013-02-20 99 views
0

因此,我將here各種php登錄文件合併到one file。 將它合併到一個文件中,我附加了url,並根據附加內容做了不同的事情。php頭重定向不工作

這適用於本地,但不適用於我的遠程服務器。

反正...

在我的 '整合' 文件的頂部,我有

session_start(); 

這是我有一個在session_start唯一的一次()。我post.php中代碼的其餘部分是這樣的:??

if(isset($_GET['app1'])){ 
...do stuff 
header("location:post.php?app2"); 
    exit(); 
} 
if(isset($_GET['app2'])){ 
...do other stuff 
header("location:post.php?app3"); 
    exit(); 
} 

本地,如果我在post.php中開始APP1,它會去post.php中APP2,做工精細,但在遠程服務器上它只是卡住(不重定向)。有誰知道爲什麼?

+1

我不確定,但可能是因爲它的空間導致問題試試這個'header(「Location:post.php?app2」);'。而當你編碼它應該被重定向到'app3'而不是'app2' – 2013-02-20 06:13:08

+1

@YogeshSuthar - 同意你。 – Rikesh 2013-02-20 06:16:53

+0

你確定執行到達'header(...)'行嗎? – 2013-02-20 06:17:47

回答

0

可能發生這些情況是因爲在嘗試重定向之前有一個代碼提供輸出。 嘗試在'鞏固'文件中添加緩衝區功能。

ob_start(); 
session_start(); 
+0

添加ob_start();在文件的頂部? – amchugh89 2013-02-20 06:42:54

+0

那麼我加了ob_start();它現在可以工作,謝謝!一個簡單的修復,我將永遠無法找到。 我也移動了我的session_start();因爲有一個包含在它之前執行的 之前) 包括'db'; session_start(); AFTER) ob_start(); session_start(); 包括'db'; – amchugh89 2013-02-20 06:50:12

+0

你可以在[here](http://php.net/manual/en/function.ob-start.php)中瞭解更多關於ob_start的內容。很高興幫助你 – nvl 2013-02-20 08:48:53