Problème de déconnexion
Résolu/Fermé
Legrandfifou
Messages postés
109
Date d'inscription
samedi 3 mai 2014
Statut
Membre
Dernière intervention
17 mars 2017
-
Modifié par Legrandfifou le 24/06/2015 à 02:28
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 - 26 juin 2015 à 15:40
Legrandfifou Messages postés 109 Date d'inscription samedi 3 mai 2014 Statut Membre Dernière intervention 17 mars 2017 - 26 juin 2015 à 15:40
2 réponses
Utilisateur anonyme
24 juin 2015 à 10:05
24 juin 2015 à 10:05
Hello, tu affiches ton bouton déconnexion si $_SESSION['pseudo'] existe, et si il existe pas tu affiche le bouton connexion.
Si il n'y a aucun changement entre déconnexion et connexion cela veut dire que ta variable $_SESSION['pseudo'] n'est jamais créé ou est mal supprimée.
ce que je te propose c'est d'afficher ce code à un endroit dans ta page
Effectue l'action de te connecter et de te connecter et regarder l'état de pseudo dans ta variable $_SESSION.
A+
Si il n'y a aucun changement entre déconnexion et connexion cela veut dire que ta variable $_SESSION['pseudo'] n'est jamais créé ou est mal supprimée.
ce que je te propose c'est d'afficher ce code à un endroit dans ta page
echo '<pre>'; print_r($_SESSION); echo '</pre>';
Effectue l'action de te connecter et de te connecter et regarder l'état de pseudo dans ta variable $_SESSION.
A+
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
45
24 juin 2015 à 10:25
24 juin 2015 à 10:25
Salut,
Je ne sais pas si tu as posté toute la page principale (celle avec les boutons de connexion/déconnexion).
Mais dans ce que tu as posté il semble manquer un
avant de pouvoir faire
sinon la variable de session n'existera jamais.
Je ne sais pas si tu as posté toute la page principale (celle avec les boutons de connexion/déconnexion).
Mais dans ce que tu as posté il semble manquer un
session_start();
avant de pouvoir faire
if (isset($_SESSION['pseudo'])) ...
sinon la variable de session n'existera jamais.
Legrandfifou
Messages postés
109
Date d'inscription
samedi 3 mai 2014
Statut
Membre
Dernière intervention
17 mars 2017
5
Modifié par Legrandfifou le 24/06/2015 à 13:36
Modifié par Legrandfifou le 24/06/2015 à 13:36
J'y ai pensé aussi , et je l'ai fait mais quand je le met le bouton déconnexion change bien mais lorsque je clique sur déconnexion rien ne se passe la session ne se détruit pas :/
J'ai rajouté ceci :
Mais la sa change en connexion/déconnexion mais quand on clique sur le déconnexion rien ne se passe
J'ai rajouté ceci :
<?php
session_start();
if (isset($_SESSION['pseudo']))
{
echo '<form action="" method = "POST"><a href="" class="deconnexion">Déconnexion</a></form>';
}
else
{
echo '<a href="connexion.php" class="connexion">Connexion</a>';
}
if(isset($_POST['deconnexion']))
{
session_start();
// Suppression des variables de session et de la session
$_SESSION = array();
session_destroy();
// Suppression des cookies de connexion automatique
setcookie('login', '');
setcookie('pass_hache', '');
}
?>
Mais la sa change en connexion/déconnexion mais quand on clique sur le déconnexion rien ne se passe
Hello,
j'ai pris l'habitude de ne pas faire de
Essaie cela :
j'ai pris l'habitude de ne pas faire de
session_destroy()lors d'une déconnexion car j'utilise la variable session pour d'autre fonctionnalité de mes sites internet.
Essaie cela :
if(isset($_POST['deconnexion'])) { // Suppression des variables de session et de la session unset($_SESSION['pseudo']); // Suppression des cookies de connexion automatique setcookie('login', ''); setcookie('pass_hache', ''); }
Legrandfifou
Messages postés
109
Date d'inscription
samedi 3 mai 2014
Statut
Membre
Dernière intervention
17 mars 2017
5
24 juin 2015 à 20:50
24 juin 2015 à 20:50
Donc j'ai testé ca ne marche pas je récapitule pour que tout soit clair J'ai une lien <a href="connexion.php" class="connexion">Connexion</a> qui permet d'aller a la page de connexion quand on se connecte , le connexion en haut a droite doit se changer en déconnexion mais il doit rester cliquable donc j'ai mis <a href="" class="deconnexion">Déconnexion</a>
et la fonction PHP de déconnexion :
Sauf que la j'ai bien la connexion qui se fait , mais lorsqu'on est connecté il n'affiche pas le Déconnexion mais il affiche connexion et lorsque l'on reclique sur ce Connexion sa déconnecte l'utilisateurs ..
et la fonction PHP de déconnexion :
if(isset($_GET['deconnexion']))
{
// Suppression des variables de session et de la session
unset($_SESSION['pseudo']);
// Suppression des cookies de connexion automatique
setcookie('login', '');
setcookie('pass_hache', '');
}
Sauf que la j'ai bien la connexion qui se fait , mais lorsqu'on est connecté il n'affiche pas le Déconnexion mais il affiche connexion et lorsque l'on reclique sur ce Connexion sa déconnecte l'utilisateurs ..
Legrandfifou
Messages postés
109
Date d'inscription
samedi 3 mai 2014
Statut
Membre
Dernière intervention
17 mars 2017
5
25 juin 2015 à 21:00
25 juin 2015 à 21:00
Et si je met le session_start(); au début, il affiche bien le déconnexion mais impossible de se déconnecter il ne supprime pas la session..
Si je résume :
Au début de chaque pages :
"Connecter" un utilisateur
Vérifier si un internaute est connecté
Déconnecter un utilisateur
Afficher la variable $_SESSION pour débuger
Si tu fais un print_r($_SESSION) tu devrais voir $_SESSION['pseudo'] quand l'utilisateur est connecté et tu ne devrais pas le voir quand personne n'est connecté.
A+
Au début de chaque pages :
session_start();
"Connecter" un utilisateur
$_SESSION['pseudo']='unPseudoCommeUnAutre';
Vérifier si un internaute est connecté
if(isset($_SESSION['pseudo'])){ // Connecté }else{ // Pas connecté }
Déconnecter un utilisateur
unset($_SESSION['pseudo']);
Afficher la variable $_SESSION pour débuger
echo '<pre>'; print_r($_SESSION); echo '</pre>';
Si tu fais un print_r($_SESSION) tu devrais voir $_SESSION['pseudo'] quand l'utilisateur est connecté et tu ne devrais pas le voir quand personne n'est connecté.
A+