2010-08-04 5 views
3

получил (я думаю ...) очень простую проблему:PHP - Установить сеанс внутри функции

Я хочу установить сеанс внутри функции. Простая ситуация:

У меня есть форма для входа. После выделения формы я вызываю функцию «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

ответ

21

Вы используете $SESSION вам нужно использовать $_SESSION

+0

Черт возьми, я действительно смущен. Не кодировали php в течение месяца, и я явно не обращал на это внимания. спасибо и сожалею об этом \t лишний «вопрос»;) – ben

+2

Это случается с лучшими из нас :) –

Смежные вопросы