Session non détruite si on ferme l'onglet

Résolu/Fermé
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 15 mai 2018 à 11:57
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 16 mai 2018 à 12:29
Bonjour,

J'ai fait un site dont j'ai un petit problème.

Si on ferme la page du site et qu'il y a d'autres onglets d'ouvert la session n'es pas détruite ou du moins j'en ai l'impression.

Je me retrouve avec un session toujours active mais dans laquelle je ne peux plus sortir aucune information.... Pouvez vous me donner une solution à ça?

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
15 mai 2018 à 12:36
Bonjour,

Comment initialises tu tes sessions ?
Tu les nommes ?

0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
Modifié le 15 mai 2018 à 14:01

session_start();

if (isset($_POST['utilisateur']) && isset($_POST['mdp'])) {
$utilisateur = $_POST['utilisateur'];
$mdp = $_POST['mdp'];

$db_conn = db_connect ();

$requete = "select * from *******"
." where login = '$utilisateur'"
." and mdp = *******";

$requete_user = $db_conn->query($requete);
$data_req_user = $requete_user->fetchAll(PDO::FETCH_ASSOC);
if (count($data_req_user) > 0) {
$_SESSION['user_ok'] = $utilisateur;
foreach($data_req_user as $row){
$cdb = $row['cdb'];
}
}
}

if (isset($_SESSION['user_ok'])) {
$req_donne_uti = "SELECT p1.id_uti, p1.nom, p1.prenom, p1.email, p2.rang_statut, p2.pg_administration, p2.pg_gestion, p2.pg_hor, p2.pg_consult, p2.pg_divers, p2.id_statut
FROM *****p1, ******* p2
WHERE *****= '*****'
AND p1.statuts_id_statut = p2.id_statut ";
$requete_donne_user = $db_conn->query($req_donne_uti);
$data_req_donne_user = $requete_donne_user->fetchAll(PDO::FETCH_ASSOC);
foreach($data_req_donne_user as $rox){
$_SESSION['iduti'] = $rox['id_uti'];
$_SESSION['nom'] = $rox['nom'];
$_SESSION['prenom'] = $rox['prenom'];
$_SESSION['statut'] = $rox['id_statut'];
$_SESSION['mail'] = $rox['email'];
$_SESSION['rang_statut'] = $rox['rang_statut'];
$_SESSION['pg_administration'] = $rox['pg_administration'];
$_SESSION['pg_gestion']=$rox['pg_gestion'];
$_SESSION['pg_hor'] = $rox['pg_hor'];
$_SESSION['pg_consult']=$rox['pg_consult'];
$_SESSION['pg_divers']=$rox['pg_divers'];
}
$statut=$_SESSION['statut'];
if ($_SESSION['statut']!='3') {
echo "<p>Vous êtes bien connecté, Vous allez être redirigé dans un instant.</p>";
echo "<head>";
echo '<meta http-equiv="refresh" content="0;url=votrecompte.php">';
echo "</head>";
} else {
echo "<p>Vous êtes bien connecté, Vous allez être redirigé dans un instant.</p>";
echo "<head>";
echo '<meta http-equiv="refresh" content="0;url=badge.php">';
echo "</head>";
}
} else {
if (isset($utilisateur)) {
$mess_error="Connexion refusée";
} else {
$mess_error="Veuillez vous connecter";
}
}
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
15 mai 2018 à 16:01
Tu peux faire un print_r de $_SESSION et nous dire ce qu'il en est. ( avant, et après fermeture (puis réouverture....) de tes onglets ) ?

Au passage, je t'invite à consulter ceci concernant l'écriture de ton code : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
ainsi que ça pour le PDO : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

Merci également d'ajouter, dans les balises de code, le langage concerné afin d'avoir la coloration syntaxique et l'indentation de ton code.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
16 mai 2018 à 12:29
C'est bon j ai trouvé se matin suite à ton print_r Merci pour l'aide.

La session était toujours active mais aucun élément de mon ne redirigeais dans se cas de figure j ai donc rajouter ce qu'il fallait pour pallier à se problème.
0