La variable $_SESSION ne se propage pas...
Posté : 08 mai 2019, 22:06
Bonjour,
Je débute aujourd'hui en PHP (PHP 7.3)
J'ai besoin de véhiculer une variable (le rôle de l'utilisateur connecté) de pages en pages.
Dans ma première page, l'utilisateur se connecte. Ma toute première ligne est bien
Je récupère son rôle via une requête SQL et je le stocke :
Par contre, dès que je passe sur la page suivante, malgré le session_start() en première ligne,
tout indique que $_SESSION est complètement vide. Pourtant je ne fait que cliquer sur un lien tout simple :
Et j'ai fait des dizaines de tests, j'y suis depuis le milieu d'après midi... sans succès, quelles que soient les pages !
Idem quand j'interroge session_id(). Et visiblement mon PHP ne connait pas SID.
Comme j'ai besoin de connaitre les droits de l'utilisateur pour lui afficher les bons menus (sorte de back office), comment puis je faire pour transférer cette information de pages en pages ?
(je ne me penche pas sur les cookies car je ne sais pas si les utilisateurs finaux vont les accepter ou pas).
Merci pour votre aide
Bonne soirée
Je débute aujourd'hui en PHP (PHP 7.3)
J'ai besoin de véhiculer une variable (le rôle de l'utilisateur connecté) de pages en pages.
Dans ma première page, l'utilisateur se connecte. Ma toute première ligne est bien
La connexion l'amène sur une autre page avec cette même première instruction (session_start)<?php session_start(); ?>
Je récupère son rôle via une requête SQL et je le stocke :
Tant que je reste sur cette page, tout se passe bien et je peux utiliser la variable $_SESSION['NomRole'] sans souci.$_SESSION['NomRole'] = $ligne['NOM_ROLE'];
Par contre, dès que je passe sur la page suivante, malgré le session_start() en première ligne,
tout indique que $_SESSION est complètement vide. Pourtant je ne fait que cliquer sur un lien tout simple :
qui mène vers une page ultra simpliste :<li><a href=consultation.php>Consulter</a></li>
Et voici le résultat alors que je suis bien connectée et que sur la page précédente mon rôle était clairement connu :<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<?php
echo '<p> nom role = '.$_SESSION['NomRole'] . '</p>';
?>
</body>
</html>
Voilà, quand je lis les anciens posts à ce sujet, ça a l'air tellement évident et facile que je ne comprends pas pourquoi ça ne fonctionne pas chez moi.nom role =
Et j'ai fait des dizaines de tests, j'y suis depuis le milieu d'après midi... sans succès, quelles que soient les pages !
Idem quand j'interroge session_id(). Et visiblement mon PHP ne connait pas SID.
Comme j'ai besoin de connaitre les droits de l'utilisateur pour lui afficher les bons menus (sorte de back office), comment puis je faire pour transférer cette information de pages en pages ?
(je ne me penche pas sur les cookies car je ne sais pas si les utilisateurs finaux vont les accepter ou pas).
Merci pour votre aide
Bonne soirée