2010-08-04 23 views
3

得到了一個(我猜...)非常簡單的問題:PHP - 在一個函數內設置會話

我想在一個函數中設置會話。 簡單情況:

我有一個登錄表單。在subimitting表單之後,我調用一個函數「login」來檢查用戶是否通過了認證。如果是,應設置一個會話。

這裏是一些非常簡單的代碼:

session_start(); 

function login() { 
    $SESSION['login'] = true; 
} 

if (isset($_REQUEST['doLogin'])) { 
    login(); 
    // is session is set here, it works... 
} 

if ($SESSION['login'] === true) echo 'you are logged in'; 

但是,這是行不通的。爲什麼? 非常感謝!

+0

我喜歡你抓住了'$ _REQUEST'但不是'$ SESSION',也是它被認爲是不好的做法使用'$ _REQUEST',而不是你應該使用' $ _POST','$ _GET'或'$ _COOKIE',這取決於你在做什麼...... – jordanstephens 2010-08-04 21:59:05

回答

21

您正在使用$SESSION你需要使用$_SESSION

+0

呃該死的我真的很尷尬。沒有編碼PHP的月份,並且我已經失去了我的眼睛。謝謝你,對不起\t多餘的「問題」;) – ben 2010-08-04 17:49:44

+2

它發生在我們最好的:) – 2010-08-04 17:50:12