2013-05-04 28 views
-3

我有一個大問題,我無法解決它。我做了一個簡單的登錄腳本,它在我的筆記本電腦的LAMP服務器上工作。我很高興,我上傳到我的主機,但在那裏我無法登錄。我解決了$ _SESSION後無法使用header()。我目前的測試代碼沒有任何登錄和一切:

<?php 
session_start(); 
$_SESSION['test'] = 10; 
header("Location: anything.php"); 
?> 

而且它不重定向。哪裏有問題?

+2

你可以描述*不工作*?你得到什麼錯誤? – Rikesh 2013-05-04 08:11:05

+0

沒有。只是不重定向 – MLL 2013-05-04 08:11:34

+0

我認爲它的_headers已發送問題_ – 2013-05-04 08:11:47

回答

1

問題可能是頭已經被髮送。也就是說,session_start發送了幾個HTTP頭。從http://php.net/manual/en/function.session-start.php

該函數根據 配置發送多個HTTP標頭。請參閱session_cache_limiter()以自定義這些標頭。

嘗試在error_reporting(-1);上打開所有的警告和錯誤(這應該會給你一個警告)。無論如何,在開發過程中這樣做是很好的做法。

如果不是這樣,那麼你必須在頭部之前發送一些輸出。雖然,看看你給出的示例代碼,但情況可能並非如此。

有關該問題的更多信息,請參閱this very nicely answered question

-1

這就是奇怪的。標題功能之前必須有錯誤。任何頭文件調用之前的錯誤都會將頭文件發送到瀏覽器,並且您的PHP頭文件功能將不起作用。你可以嘗試JavaScript來重定向。

<?php 
your_code..... 
echo "<script type='text/javascript'>document.location='http://youdomain/anything.php';</script>"; 
?> 
+0

我不知道爲什麼down投這個答案? – 2013-05-04 08:42:28

+0

而且我也不這樣做爲什麼我被禁止從社區.. – MLL 2013-05-04 08:43:07

+0

奇怪的事情正在發生 – MLL 2013-05-04 08:43:26