Session non détruite si on ferme l'onglet

Résolu
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   -  
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   -
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?
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Comment initialises tu tes sessions ?
Tu les nommes ?

0
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 

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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 116 Date d'inscription   Statut Membre Dernière intervention  
 
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