Problème de déconnexion

Résolu
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   -  
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je n'arrive plus à me déconnecter de mon site...voici mon header.php :
<div class='header'>
<?php
 $result= infos_membre_connecte();

//-------------------------------------------------//
 
 $infos  = $result['result'];
if(count($infos)>0){
   $pseudo = isset($infos['pseudo'])?$infos['pseudo']:'';
   echo "Bienvenue ". $pseudo;
}else{
 echo "<br> Aucun résultat.";
}
if(!isset($_SESSION['pseudo']))
{
header("Location:index.php?page=login");
}
?>
<p><a href="index.php?page=logout">Se déconnecter</a></p>
</div>


Merci d'avance :)

4 réponses

hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Quel est le code de ta page index.php?page=logout ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
<?php
session_destroy();
header("Location: index.php?page=login")
?>
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
As-tu changer quelque chose pour que ça s'arrête de fonctionner ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
depuis que j'ai modifié l'index.php
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Et qu'as tu changer ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
if(isset($_SESSION['pseudo']) && $page != 'membre' && $page != 'update' && $page !='update_avatar' && $page !="liste_membre"){
redirection("index.php?page=membre");

}
?>


voilà, plus clair ici : https://forums.commentcamarche.net/forum/affich-32077373-renomme-probleme-de-redirection-en-boucle
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Pour commencer,
Il manque un point virgule après la redirection sur la page logout
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
C'est rajouté mais rien n'a changé :/
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Montre ta page de connexion stp
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Tu peux simplifier ce code :
if(isset($_SESSION['pseudo']) && $page != 'membre' && $page != 'update' && $page !='update_avatar' && $page !="liste_membre"){
redirection("index.php?page=membre");

}

en utilisant la fonction in_array qui teste si un élément est dans un array :
if(isset($_SESSION['pseudo']) && !in_array($page, array( 'membre', 'update', 'update_avatar', "liste_membre"))){
redirection("index.php?page=membre");

}
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
connect.php ?

<?php
/**
* Fichier connect.php
**/

//--------------------------------//
//démarrage de session
//--------------------------------//
if(session_id() == '') {
 session_start();
}

//--------------------------------//
// Infos de connexion à la BDD
$serveur = "localhost";
$user = "root";
$pwd = "";
$dbname = "rs";
//--------------------------------//
// Connexion
//--------------------------------//
try {
  $bdd = new PDO ("mysql:host=".$serveur.";dbname=".$dbname.";charset=utf8", $user,$pwd);
}catch(Exception $e) {
  die('Erreur de connexion à la BDD '.$e->getMessage());
}

?>


modifications faites sinon ^^ merci
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

En complément de la suggestion d' hharchi (que je salue au passage) ...
je propose :

page lougout.php
<?php

//Le temps des tests :
echo "<br> Sessions AVANT le destroy";
print_r($_SESSION); // avant le session_destroy

session_destroy();
//header("Location: index.php?page=login")


//Le temps des tests :
echo "<br> Sessions APRES le destroy";
print_r($_SESSION); // aprèsle session_destroy

?>


... par contre ... ce code (ou l'ancien;. qui faisait la même chose...)
if(isset($_SESSION['pseudo']) && !in_array($page, array( 'membre', 'update', 'update_avatar', "liste_membre"))){
redirection("index.php?page=membre");
}

fait en sorte que JAMAIS tu n'iras dans la page LOGOUT .... car ... si la page se nomme lougout... elle ne fait donc pas partie de la liste... et donc... tu es TOUT LE TEMPS redirigé vers la page membre....
Quel est le but de ce bout de code au juste ? A mon avis .... c'est inutile de le mettre.



Cordialement,
Jordane
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
Je te remercie pour ton aide précieuse :)
je n'arrive toujours pas à me déconnecter malgré ces modifs, je clique et je ne suis pas redirigé
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Salut tout le monde :)

Tu n'es pas redirigé vers ta page logout ?? As-tu bien modifié la condition dont parle jordane ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
oui :/
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
oui pour quoi ?
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai appliqué les modifs que Jordane m'a apporté
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10
 
<?php
include('functions/connect.php');  // fonctionne
 
// Reporte toutes les erreurs PHP (Voir l'historique des modifications)
error_reporting(E_ALL);
 
 
/**
*Fonction de redirection
* @param : $url (valeur par défaut = index.php?page=login )
*/
function redirection($url = "index.php?page=login"){
   header("Location:$url");
   exit();
}
 
//Récupération de la valeur de $_GET['page'] Si la variable Existe et qu'elle n'est pas vide...
$page = isset($_GET['page']) && !empty($_GET['page'])?$_GET['page']:NULL;
 
include('functions/'.$page.'.func.php');
 
 
if($page){    
    $content = "pages/$page.php";
    if(!file_exists($content)){
      //La page n'existe pas
      redirection();
    }
}else{
  // $page est vide ou n'existe pas.
   redirection();
}
if(isset($_SESSION['pseudo']) && !in_array($page, array( 'membre', 'update', 'update_avatar', "liste_membre"))){
redirection("index.php?page=membre");
}
?>
 
<!DOCTYPE html>
<html>
    <head>
      <link rel='stylesheet' href='css/style.css'>
    </head>
    <meta charset="UTF-8" >
    <body>
          <div id='content'>
          <?php
              include($content);
           ?>
    </div>
    </body>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu n'as rien modifié !
Tu fais quoi de ça ?
if(isset($_SESSION['pseudo']) && !in_array($page, array( 'membre', 'update', 'update_avatar', "liste_membre"))){
redirection("index.php?page=membre");
}

????

Tu as lu ce que je t'ai marqué à ce sujet ????????
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Change ça :

if(isset($_SESSION['pseudo']) && !in_array($page, array( 'membre', 'update', 'update_avatar', "liste_membre"))){
redirection("index.php?page=membre");


en :

if(isset($_SESSION['pseudo']) && !in_array($page, array( 'membre', 'update', 'update_avatar', "liste_membre", 'logout'))){
redirection("index.php?page=membre");
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Oui j'ai lu mais je croyais que vous l'aviez déjà fait je m'excuse
0
Zakarya93 Messages postés 984 Date d'inscription   Statut Membre Dernière intervention   10 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
if(isset($_SESSION['pseudo']) && !in_array($page, array( 'membre', 'update', 'update_avatar', "liste_membre", "logout"))){
redirection("index.php?page=membre");
}


c'est bon comme ceci ?
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
oui
0