我有一個大問題,我無法解決它。我做了一個簡單的登錄腳本,它在我的筆記本電腦的LAMP服務器上工作。我很高興,我上傳到我的主機,但在那裏我無法登錄。我解決了$ _SESSION後無法使用header()。我目前的測試代碼沒有任何登錄和一切:
<?php
session_start();
$_SESSION['test'] = 10;
header("Location: anything.php");
?>
而且它不重定向。哪裏有問題?
我有一個大問題,我無法解決它。我做了一個簡單的登錄腳本,它在我的筆記本電腦的LAMP服務器上工作。我很高興,我上傳到我的主機,但在那裏我無法登錄。我解決了$ _SESSION後無法使用header()。我目前的測試代碼沒有任何登錄和一切:
<?php
session_start();
$_SESSION['test'] = 10;
header("Location: anything.php");
?>
而且它不重定向。哪裏有問題?
問題可能是頭已經被髮送。也就是說,session_start
發送了幾個HTTP頭。從http://php.net/manual/en/function.session-start.php:
該函數根據 配置發送多個HTTP標頭。請參閱session_cache_limiter()以自定義這些標頭。
嘗試在error_reporting(-1);
上打開所有的警告和錯誤(這應該會給你一個警告)。無論如何,在開發過程中這樣做是很好的做法。
如果不是這樣,那麼你必須在頭部之前發送一些輸出。雖然,看看你給出的示例代碼,但情況可能並非如此。
有關該問題的更多信息,請參閱this very nicely answered question。
這就是奇怪的。標題功能之前必須有錯誤。任何頭文件調用之前的錯誤都會將頭文件發送到瀏覽器,並且您的PHP頭文件功能將不起作用。你可以嘗試JavaScript來重定向。
<?php
your_code.....
echo "<script type='text/javascript'>document.location='http://youdomain/anything.php';</script>";
?>
你可以描述*不工作*?你得到什麼錯誤? – Rikesh 2013-05-04 08:11:05
沒有。只是不重定向 – MLL 2013-05-04 08:11:34
我認爲它的_headers已發送問題_ – 2013-05-04 08:11:47