Utilisation de Session avec la méthode POST

Résolu/Fermé
Stevie21 - 8 janv. 2009 à 20:51
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 8 janv. 2009 à 23:01
Bonjour,

j'utilise des variables de session afin de garder en mémoire le login et le password des gens qui se connectent.

J'utilise alors la commande $_SESSION['login'] =$_POST['login']; afin d'enregistrer ce qui est écrit dans ce champs.
Par la suite, je me sers de la session variable pour authentifier la personne et s'assurer qu'elle à les droits d'accès pour cette section.

Cependant, avec cette commande, la variable $_SESSION['login'] ne prend pas la valeur de $_POST['login'], j'ai tenté avec la commande $_SESSION['login'] =$x où x=12 par exemple, mais je n'ai toujours aucune valeur dans $_SESSION['login'].

Lorsque j'ai essayé $_SESSION['login'] = 'test'; , ma variable de session prend bel et bien la valeur de test.

Je me demande donc s'il est possible de passer une variable directement dans la variable de session.

Merci
A voir également:

4 réponses

Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
8 janv. 2009 à 20:57
oui, tu peux

t'es sûr de bien récupérer $_post['login']?
0
Oui, je récupère bel et bien ma variable avec POST et son contenu est le bon.

Lorsque je fais une commande echo de ma variable session à laquelle j'ai affecté une variable via la méthode POST, si je fais un écho de ma variable POST ou de ma variable SESSION à laquelle j'ai mis une chaîne de texte, je vois très bien le résultat à l'écran.

Voici mon code, cela sera peut-être plus évident.

page 1 :

session_start();

$_SESSION['login'] = $_POST['login'];
$_SESSION['pswd'] = $_POST['password'];


page2:

session_start();

echo $_SESSION['login'];
echo $_SESSION['pswd'];

page 3:

session_start();

if (($_SESSION['login'] == "bon_login") AND ($_SESSION['pswd'] == "bon_password"))
{
affiche la page secrète
}
else
{
message d'erreur de login ou de non-autorisation sur cette page
}




en principe c'est simple, mais je ne comprend pas pourquoi cela ne fonctionne pas

merci de vos réponses
0
Stevie21 > Stevie21
8 janv. 2009 à 21:25
Oups petite erreur dans mon post précédant, voici le premier paragraphe avec le bout qui manquait en gras

Lorsque je fais une commande echo de ma variable session à laquelle j'ai affecté une variable via la méthode POST, je n'obtient rien, si je fais un écho de ma variable POST ou de ma variable SESSION à laquelle j'ai mis une chaîne de texte, je vois très bien le résultat à l'écran.
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
8 janv. 2009 à 21:25
essaie sans répéter le session_start, ne le met qu'avant la récupération de tes variables post dans tes variables sessions
0
négatif, cela ne fonctionne guère mieux
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
8 janv. 2009 à 21:34
if($_POST['loggin']){
    session_start();
    $_SESSION['log']=$_POST['loggin'];
    echo $_SESSION['log'];
}

<form action='' method='post'>
    <input type='text' name='loggin' />
    <input type='submit' value='envoyer'/>
</form>


essais ce code sur une page sans autre code (sauf l'en-tête^^)
0
Ce code fonctionne très bien lorsque tout le traitement se fait sur une page, lorsque mon action est sur une autre page, les variables sessions sont vides....

cela ne fonctionne plus pour obtenir le contenu des valeurs sessions sur les autres pages pour une raison que j'ignore...
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
8 janv. 2009 à 22:49
alors mets session_start tout en haut de chacune de tes pages, avant même le <head> et dis nous ce que ça fait^^
0
voilà, j'ai mis des session_start() et le tout fonctionne à merveille !!!!

je te remercie énormément, ton aide fût très précieuse !!!!
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58 > Stevie21
8 janv. 2009 à 23:01
j't'en prie ;)

En fait on aurait du commencer par là, j'ai aussi eu ce genre de problème, c'était à cause de mon hébergeur et de l'impossibilité de paramétrer comme on veut le php.ini. Donc si tu as à nouveau ce genre de soucis, ou si tu croises quelqu'un qui l'a, c'est à cause des paramètres du php.ini et c'est comme ça qu'on peut esquiver le truc^^

oublis pas de mettre en résolu ;)
0