Bonjour à tous, voici mon problème :
Je possède une page de connexion à mon site (index.php).
Lorsque l'utilisateur se connecte, il arrive sur ma page d'accueil. Cependant, je n'arrive pas à gérer le fait qu'il soit connecté pour les autres pages de mon site. Voici comment je procède :
J'ai un script qui me permet de vérifier que l'utilisateur est bien connecté :
Donc si son login et son mot de passe son bons à la tentative de connexion, une variable de session $_SESSION['sessionOuverte'] est créée avec pour valeur "true". Si ceux ci ne sont pas bons, la variable de session est détruite (redirection vers la page index.php qui passe la variable de session à null à tous les coups).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 <?php /*-------------------------- Vérification de la connexion --------------------------*/ if(!isset($_SESSION['sessionOuverte']) || !$_SESSION['sessionOuverte']){ if(isset($_POST['login']) && isset($_POST['password']) && !empty($_POST['login']) && !empty($_POST['password'])){ $verif = $bdd->query('SELECT mail FROM user WHERE mail = \''. addslashes($_POST['login']) .'\' AND mdp = \''. addslashes(md5($_POST['password'])) .'\''); $i= 0; while ($donnees = $verif->fetch()){ $i++; } $verif->closeCursor(); if($i < 1){ header('location: index.php?erreur='. $i .''); } else{ $_SESSION['sessionOuverte']= true; } } else{ header('location: index.php?erreur=1'); } } ?>
Et j'appelle ce script au début de chacune de mes pages. Donc si l'utilisateur s'est correctement loggé, il devrait pouvoir accéder à chaque page sans être redirigé vers la page d'accueil avec un message d'erreur non?
Et bien là ce n'est pas le cas, à chaque tentative d'accès à une nouvelle page, ça rentre dans la condition de mon script :
Et ensuite vu que les login et mot de passe de la page index.php ne sont pas présents et bien il est redirigé..Code:if(!isset($_SESSION['sessionOuverte']) || !$_SESSION['sessionOuverte']){}
Je ne vois vraiment pas où je déconne.. Si quelqu'un peut me permettre d'ouvrir les yeux .. ^^'
Merci beaucoup d'avance!
EDIT: Je précise que session_start(); est présent au début de chacune de mes pages.