forcels
Messages postés64Date d'inscriptionmercredi 10 mai 2006StatutMembreDernière intervention27 août 2010
-
2 juin 2008 à 09:24
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
2 juin 2008 à 16:50
Voila,
je réalise actuellement un site web php permettant de
gérer l'administration d'un club de ski dans le cadre de mon projet de
fin d'études.
Je bloque sur un soucis de session depuis quelques
jours. J'ai passer des heures à rechercher sur google une solutions, en
vain...
Mon problème est le suivant:
Lorsque l'utilisateur
arrive sur mon site, il doit s'authentifier. Sur authentification
réussie, je démarre la session et je définis une variable
($_SESSION['autorise'] = 'oui') que je teste sur les pages.
J'arrive
à entrer sur la page d'administration (admin.php). Mais, ensuite,
lorsque je clique sur un lien de mon menu (lien [../../css/screen.css
<title>Esaho-ski Admin</title>
</head>
Menu
]Accueil
Gestion des membres et des activités d'un ski club
<?php
echo $_SESSION['autorise'];
?>
</html>
<hr size="2" width="100%" />
Voila. Donc en cliquant sur le lien "Accueil", je dois revenir sur la même page. Mais là, je suis redirigée vers la page de login, car il me perd la session...
forcels
Messages postés64Date d'inscriptionmercredi 10 mai 2006StatutMembreDernière intervention27 août 2010 2 juin 2008 à 11:09
Hello,
j'ai modifié mes liens href en leur mettant, par exemple admin.php?nom_session=id_session.
Ensuite, dans la page ayant besoin de la session, j'ai testé si je trouvais nom_session dans l'url et si c'est le cas, je fais un session_start().
Ceci fonctionne. Par contre, lors de la déconnexion, j'enlève la variable $_SESSION['autorise'] (que j'utilise pour tester si l'utilisateur a le droit d'accéder) et j'affiche la page d'accueil.
Ensuite, j'arrive sans autre à revenir sur la page admin.php en modifiant l'url !!
Je n'ai des session_start() uniquement sur la première page du site, puis aux endroits où je passe l'id de session par l'url et que je la récupère.
Est-ce dû au fait que j'ai plusieurs session_start() et qu'il ne me les enlève pas vraiment ?
Quelqu'un aurait une idée pour résoudre ce problème ?
Ma page deconnexion.php
<?php
if(isset($_GET['PHPSESSID'])) {
session_start();
}
unset($_SESSION['username']);
unset($_SESSION['autorise']);
session_unset();
session_destroy();
echo $_SESSION['autorise']; // m'indique que l'index autorise n'est pas trouvé, mais me dit pas que la session n'est pas trouvée...