Disparition de la variable session
Bonjour
Ma page index.php recueille le login et le mot de passe que rentre l'utilisateur et les transmet avec succès à validation.php.
Je me connecte à ma base SQL, compare le mot de passe et valide une session Gestion ou Consultation en fonction des droits de l'utilisateur.
L'utilisateur est ensuite redirigé vers la page accueilConsultation.php ou accueilGestion.php.
Mon soucis est que ces pages d'accueil ne récupèrent pas les variables de session malgré les session_start(); en début de page.
Info :
LAMP
PHP 6.X
VM de Debian Jessie - vmware
Message d'erreur : _session non défini sur accueilConsultation.php
J'ai mis de nombreux echo afin de diagnostiquer où se trouver mon problème.
validation.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
|
<?php
include("fonctions.php"); // fonctions.php contient la fonction "connexion" permettant de se connecter à ma base SQL
// on teste si nos variables sont définies
if (isset($_POST['login']) && isset($_POST['pwd']))
{
$login=$_POST['login'];
echo "Le login rentré est : ",$login,"<br><br>";
// connexion à la base de donnée
connexion();
$sacados=mysql_query("SELECT passwordUtilisateur,privilegeUtilisateur FROM utilisateur WHERE loginUtilisateur='$login'");
$ligne=mysql_fetch_array($sacados);
if($ligne!=null)
{
extract($ligne);
echo "Le mot de passe correct est :",$passwordUtilisateur," <br><br>";
echo "Le mot de passe rentré est :",$_POST['pwd']," <br><br>";
// vérification du mot de passe
if($passwordUtilisateur==$_POST['pwd'])
{
// vérification du type de compte
if($privilegeUtilisateur=='Gestion')
// privilegeUtilisateur permet de savoir si l'utilisateur à le droit de modifier les données de ma base SQL
{
session_start();
$_session['mode']=1;
$_session['login']=$login;
echo "Gestion OK ! <br>SessionMode vaut : ",$_session['mode'],"<br>SessionLogin vaut : ",$_session['login'];
header("Location: accueilGestion.php");
}
else
{
session_start();
$_session['mode']=2;
$_session['login']=$login;
echo "Consultation OK ! <br>SessionMode vaut : ",$_session['mode'],"<br>SessionLogin vaut : ",$_session['login'];
header("Location: accueilConsultation.php"); // Je met cette ligne en commentaire pour voi mon echo, $_session à bien pris les valeurs.
}
}
else
{
// mot de passe incorrect
// affichage
echo '<body onLoad="alert(\'Mot de passe non reconnu...\')">';
// puis on le redirige vers la page d'accueil
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
else
{
// login incorrect
// affichage
echo '<body onLoad="alert(\'Login non reconnu...\')">';
// puis on le redirige vers la page d'accueil
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
else
{
//affichage
//echo '<body onLoad="alert(\'Les variables du formulaire ne sont pas déclarées.\')">';
// puis on le redirige vers la page d'accueil
// echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
?> |
accueilConsultation.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
<?php
// Récupération de la session en cours
session_start();
echo "La session en cours utilise le mode : ",$_session['mode'];
// $_session['mode'] devrait avoir la valeur '2' mais j'ai à la place le message d'erreur comme quoi $_session n'est pas défini.
// Redirige les personnes n'appartenant pas au mode Consultation
//if($_session['mode']!=2)
//{
//echo '<body onLoad="alert(\'Une erreur est survenu ! Seul les personnes habilités peuvent visionner cette page.\')">';
//echo '<meta http-equiv="refresh" content="0;URL=index.php">';
//}
?> |
HELP :calim2: