[RESOLU] Problème avec les SESSIONS (pour les menus)

Eléphanteau du PHP | 45 Messages

06 oct. 2022, 22:43

Bonjour, j'ai deux utilisateurs (admin -> "ad" et utilisateur -> "ut") je voudrais que en fonction de l'utilisateur qui se connecte le
menu change d'où les différents menu. Pour utilisateur -> "ut" je n'ai aucun problème mais pour l'admin cela ne fonctionne pas

Voici quand je fais un var_dump de mes sessions et pour la session 'user' je devrais avoir 1 au lieu de 2 ce que je n'arrive pas à
comprendre.

Image

Merci d'avance si vous pouvez m'apporter votre aide. Bonne soirée ou Bonne journée au passage !
<?php 
if(!isset($_SESSION)){
    session_start();
    var_dump($_SESSION);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <link href="../CSS/CSSNavBar.css" rel="stylesheet">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Page d'accueil</title>
</head>
<nav>
    <?php
    if(!isset($_SESSION['user']) AND !isset($_SESSION['typeUser'])){
        echo "<a href='connectionCompte.php'>Connexion</a>";
    }
    else{
        if(($_SESSION['user'])==1 && ($_SESSION['typeUser'])=="ad"){
            include("Menu/menu_navBar.php");
            echo ($_SESSION['user']).($_SESSION['typeUser']);
            //var_dump($_SESSION);)
        }
        elseif(($_SESSION['user'])==2 && ($_SESSION['typeUser'])=="ut"){
            include("Menu/menu2_navBar.php");
            echo ($_SESSION['user']).($_SESSION['typeUser']);
            var_dump($_SESSION);
        }
        else{
            echo "Vous n'êtes pas enregistré !!";
            //include("deconnexion.php");
            echo "<a href='connectionCompte.php'>Connexion</a>";
        }
    }
    ?>
</nav>

Mammouth du PHP | 2703 Messages

06 oct. 2022, 23:15

c'est le code qui met la variable en session qu'il faut revoir si la session ne contient pas ce qui est attendu.

Eléphanteau du PHP | 45 Messages

10 oct. 2022, 17:01

Donc le problème est lorsque que je crée mes sessions et je dois voir si les valeurs correspondent bien à ce que je veux
Ci dessous voici le code après que l'utilisateur se soit connecté, des sessions sont crées avec ses valeurs et justement pour l'encadrant sa valeur de la session ['user'] est celle d'un utilisateur lambda .
<?php
include("connexion/config.php");
    //$email = $password = $pwd = '';
    if(isset($_POST['btn_envoie'])){
        $email = $_POST['email'];
        $pwd = $_POST['password'];
        //$password = MD5($pwd);
        $sqlSelect = "SELECT  USER, MDP, NOMCOMPTE, PRENOMCOMPTE, TYPEPROFIL, ADRMAILCOMPTE
                FROM compte";
        $result = mysqli_query($con, $sqlSelect);
        if(mysqli_num_rows($result) > 0)
        {
            while($row = mysqli_fetch_assoc($result))
            {
                $id = $row["USER"];
                $email = $row["ADRMAILCOMPTE"];
                $typeCompte = $row["TYPEPROFIL"];
                session_start();
                $_SESSION['user'] = $id;
                $_SESSION['email'] = $email;
                $_SESSION['typeUser'] = $typeCompte;
            }
        header("Location: index.php");
        }
        else
        {
            echo "Mauvais email ou password";
        }
    }
?>

Mammouth du PHP | 2703 Messages

10 oct. 2022, 19:58

$pwd = $_POST['password'];
où, ensuite, cette variable est utilisée ?

Eléphanteau du PHP | 45 Messages

12 oct. 2022, 18:28

nul part

Eléphanteau du PHP | 45 Messages

12 oct. 2022, 18:31

Je devrais créer une session contenant le mdp de la personne connecté pour pouvoir faire mes conditions et afficher le menus en fonctions de cette personne connecté ?

Mammouth du PHP | 2703 Messages

12 oct. 2022, 20:35

non

si vous vous déconnectez de ce site, vous essayez de vous reconnecter en mettant un mot de passe erroné, cela fonctionne quand même ?

Eléphanteau du PHP | 45 Messages

12 oct. 2022, 22:45

Oui sa fonctionne quand même alors que sa devrait pas fonctionner normalement.

Mammouth du PHP | 1967 Messages

13 oct. 2022, 08:35

Il n'y a pas de clause WHERE dans la requète, du coup tu récupère tous les comptes utilisateurs.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 45 Messages

13 oct. 2022, 16:24

Ah oui ! Merci ! C'est bon j'ai réussi !!!