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>
Bonsoir,
Que contiennent les 2 premiers fichiers ?
que donne un var_dump($_SESSION); entre le session_start et le if ?
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>