2012-03-24 106 views
-3

我只是想寫一些代碼來檢查會話是否存在。如果答案爲否,則將頁面重定向到登錄頁面。此外,我想寫這個代碼爲多個網站。所以無論域名對我來說都永遠不會成爲事實。 這裏我寫一些代碼:header()php not working

//$_SESSION['license'] -> this will be created after anyone log in 
//and will be set its value to 15497852. 
if(isset($_SESSION['license']) && $_SESSION['license'] == '15497852'){ 
    // DO SOMETHING 
} else { 
    // here i want to create link like: http://stackoverflow.com/?df=login 
    header('Location: '.$_SERVER['PHP_SELF'].'?df=login'); 
    die(); 
} 

但是這個代碼不工作在那裏我沒有看到任何錯誤。

+0

有沒有一個在我的本地電腦使用wamp服務器的代碼... 有沒有發生這種情況時在頁面中寫入錯誤? – NoLifeKing 2012-03-24 07:56:08

+0

沒有錯誤出現... – 2012-03-24 07:58:29

+0

您是否在header()調用之前在輸出上放置了任何內容? – xea 2012-03-24 07:59:38

回答

0

我認爲URL是問題... 我當我檢查在我的主要Linux服務器相同的代碼,一切正常...現在我沒有得到任何錯誤信息...

4

header() doc on php.net

記住,標題()必須被髮送的任何實際輸出之前被調用,或者通過正常的HTML標記,在一個文件中的空行,或從PHP。

檢查有什麼輸出運行此代碼之前......即使<html>例如前此訂單將導致其無法正常工作

+0

沒有HTML標籤,沒有輸出......沒有機會......只是在它開始會話之前的一行。 – 2012-03-24 08:06:00

+0

你確定'session'是空的/不包含你的值 - 即它實際上沒有調用代碼?嘗試刪除'if'語句並只執行'header'行 – ManseUK 2012-03-24 08:08:22

+0

該代碼是否會創建一個永無止境的循環? – ManseUK 2012-03-24 08:09:30