Problème_de _session

Par KiloOctet, il y a 5 ans


Bonjour,

Alors, mon problème c'est que je n'arrive pas a résoudre ce problème, quand quelqu'un se connecte le header ne se change pas, ou peut être que j'ai mal fais.

j'ai un dossier nommé inc et a l'intérieur j'ai créer mon fichier header.php et dans mon fichier index.php je fais un require 'inc/header.php' le header.php contient un menu: Home, a propos, et connexion quand la personne s'est pas connecté. du coup lorsque je fais un: if(!empty($_SESSION['id] sur le menu a afficher quand la personne s'est connecté cela ne s'affiche pas. voici mon code

dans mon fichier index j'ai ce-cis:

<?php require 'inc/session.php'; require 'inc/init.php'; session_start(); if(!empty($_SESSION['id']) && !empty($_SESSION['pseudo'])) { $req = $pdo->prepare("SELECT * FROM users WHERE id = ? "); $req->execute(array($_SESSION['id'])); $user = $req->fetch(); } if(!est_connecte()){ header("Location: http://localhost/xampp/DEv/connexion.php"); exit(); } ?>

et pour le menu que je veux faire c'est cela:

<nav class="site-navigation text-right ml-auto d-none d-lg-block" role="navigation"> <ul class="site-menu main-menu js-clone-nav ml-auto "> <?php if(!empty($_SESSION['id'])) { ?> <li class="active"><a href="index.html" class="nav-link">Home</a></li> <li><a href="index.html" class="nav-link">A propos</a></li> <li class="sign-up btnPopup sign-up-avatar" data-toggle="dropdown" id="btnPopup"><a href="#" class="nav-link"><img src="../../../users_account/alphamembre/avatar/<?php echo $user['avatar']; ?>" id="avatar" height="150px;" alt="<?php echo $user['pseudo']; ?>" class="avatar-navbar"></a></li> <?php } ?> <li class="active"><a href="index.html" class="nav-link">Home</a></li> <li><a href="" class="nav-link" id="connect-user">Connexion | Inscription</a></li> </ul> </nav>

3 réponses

Carouge10, il y a 5 ans

Bonsoir,
Que contiennent les 2 premiers fichiers ?
que donne un var_dump($_SESSION); entre le session_start et le if ?

KiloOctet, il y a 5 ans

Bonjour,

Désolé pour le retard. alors pour le index.php contient la session_start(); mais le header.php n'en contient pas. j'ai juste déclarer les balises <header></header>. ensuirte Pour le var_dump ca me renvoi l'id de l'utilisateur. normalement ca doit être bon je trouve ?

<header class="site-navbar light site-navbar-target" role="banner"> <div class="container-fluid"> <div class="row align-items-center position-relative"> <div class="col-3"> <div class="site-logo"> <a href="#"><strong><img src="images/logo/logo.png"></strong></a> </div> </div> <div class="col-9 text-right"> <span class="d-inline-block d-lg-none"><a href="#" class=" site-menu-toggle js-menu-toggle py-5 "><span class="icon-menu h3 text-black"></span></a></span> <nav class="site-navigation text-right ml-auto d-none d-lg-block" role="navigation"> <ul class="site-menu main-menu js-clone-nav ml-auto "> <?php if(!empty($_SESSION['id'])) { ?> <li class="active"><a href="index.html" class="nav-link">Home</a></li> <li><a href="index.html" class="nav-link">A propos</a></li> <li class="sign-up btnPopup sign-up-avatar" data-toggle="dropdown" id="btnPopup"><a href="#" class="nav-link"><img src="../../../users_account/alphamembre/avatar/<?php echo $user['avatar']; ?>" id="avatar" height="150px;" alt="<?php echo $user['pseudo']; ?>" class="avatar-navbar"></a></li> <div class="dropdown-menu"> <a class="dropdown-item user-name" href="users_account/profile.php"><i class="far fa-user" style="margin-right: 5px;"></i><?php echo $_SESSION['pseudo']; ?><br> <span id="text"><?php echo $user['email']; ?></span> </a> <!--<div class="user session_mail "> </div>--> <div class="dropdown-divider"></div> <a class="dropdown-item" href="users_account/profile.php"><i class="far fa-user" style="margin-right: 5px;"></i>Mon compte</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="../../../inc/deconnexion.php"><i class="fas fa-sign-in-alt sign" style="margin-right: 5px;"></i>Se déconnecter</a> </div> <?php }else{ ?> <li class="active"><a href="index.html" class="nav-link">Home</a></li> <li><a href="" class="nav-link" id="connect-user">Connexion | Inscription</a></li> <?php } ?> </ul> </nav> </div> </div> </div> </header>
KiloOctet, il y a 5 ans

C'est bon j'ai réussis à résoudre mon probème. merci à toi :)