2010-08-04 6 views
3

J'ai un (très simple) problème:PHP - Définir la session au sein d'une fonction

Je souhaite définir une session dans une fonction. Situation simple:

J'ai reçu un formulaire de connexion. Après avoir substitué le formulaire, j'appelle une fonction "login" qui vérifie si l'utilisateur s'est authentifié. Si oui, une session devrait être définie.

Voici un code très simple:

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'; 

Mais cela ne fonctionne pas. Pourquoi? Merci beaucoup!

+0

J'aime que vous avez attrapé '$ _REQUEST' mais pas' $ session', aussi sa pratique déconsidérées d'utiliser '_REQUEST' $, au lieu, vous devez utiliser' $ _POST', '$ _GET', ou' $ _COOKIE' selon ce que vous faites ... – jordanstephens

Répondre

21

Vous utilisez $SESSION vous devez utiliser $_SESSION

+0

Euh damn Je suis vraiment gêné. Je n'ai pas codé PHP pour mois et j'ai perdu mon oeil pour cela. merci et désolé ce \t superflu "question";) – ben

+2

Il arrive à la meilleure d'entre nous :) –

Questions connexes