Id ne reste pas

JuniorBawss

JuniorBawss Le 20 mars 2018 à 14:04 (Édité le 25 janvier 2019 à 17:54)

Bonjour, j'ai de nouveau un problème dans mon site: lorsque l'utilisateur se connecte, tout se passe bien et l'id est bien affiché dans l'URL mais lorsque l'on retourne à l'accueil, il disparaît et du coup mon menu reste celui d'une personne non connectée. Mon explication est un peu compliqué désolé. Voici mon code:
<?php
session_start();
?>
<html>
<title> RingView</title>
<head>
<link rel="stylesheet" href="Accueil.css"/>
<link rel="shortcut icon" type="image/x-icon" href="Rvlogo.png" />
<meta charset="utf-8" />
</head>
<!-- Le test -->
<body>
<?php if (!isset($_SESSION['id'])): ?>
<nav>
  <a href="index.php"> Accueil</a>
  <a href="presentation.php">Infos</i></a>
  <a href="rec.php">Videos</i></a>
  <a href="precommande.php">Précommander</a>
  <a href="profil.php" >Compte</a>
  <div class="animation start-home"></div>
</nav>
<?php else: ?>
<nav>
  <a href="index.php"> Accueil</a>
  <a href="presentation.php">Infos</i></a>
  <a href="connexion.php">Videos</i></a>
  <a href="precommande.php">Précommander</a>
  <a href="connexion.php" >Connexion</a>
  <div class="animation start-home"></div>
</nav>
<?php endif; ?>
<div id="slider">
  <div class="slides">
    <div class="slider">
      <div class="legend"></div>
      <div class="content">
        <div class="content-txt">
          <h1>Un projet de classe</h1>
          <h2>RingView a été produit dans l'optique d'un projet final pour le bac STI2D.</h2>
        </div>
      </div>
      <div class="image">
        <img src="diapo1.jpg">
      </div>
    </div>
    <div class="slider">
      <div class="legend"></div>
      <div class="content">
        <div class="content-txt">
          <h1>Un système sécurisé</h1>
          <h2>RingView bénéficie d'un système de détection de mouvement qui préviendra le particulier en cas d'anomalie.</h2>
        </div>
      </div>
      <div class="image">
        <img src="securite.jpg">
      </div>
    </div>
    <div class="slider">
      <div class="legend"></div>
      <div class="content">
        <div class="content-txt">
          <h1>Utilisable à distance</h1>
          <h2>RingView est connecté directement au téléphone et à l'ordinateur du particulier, où qu'il soit.</h2>
        </div>
      </div>
      <div class="image">
        <img src="connexion.jpg">
      </div>
    </div>
    <div class="slider">
      <div class="legend"></div>
      <div class="content">
        <div class="content-txt">
          <h1>Facilite les échanges</h1>
          <h2>RingView bénéficie d'un système de visio-conférence entre le particulier et la personne à la porte d'entrée.</h2>
        </div>
      </div>
      <div class="image">
        <img src="visio.jpg">
      </div>
    </div>
  </div>
  <div class="switch">
    <ul>
      <li>
        <div class="on"></div>
      </li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
  </div>
</div>
<!-- test -->
<div id="footer">
  <div class="lookWrap">
   <a href="contact.php"> <button class="Contact"><i class="fas fa-phone"></i><span>Nous Contacter</span></button></a>
  </div>
  <div class="legality">
        © Copyright 2017 - 2022
  </div>
</div>
</body>
</html>
Profil introuvable

Profil introuvable Le 21 mars 2018 à 03:09

Hello 'JuniorBawss',

En clair tu souhaites que lorsque un utilisateur s'est connecté avec son compte, sa session reste actif ? C'est bien cela ? Car mon niveau de PHP commence à augmenter (voir mon profil)
JuniorBawss

JuniorBawss Le 21 mars 2018 à 09:39

Bonjour 'Jerem971' et merci de ta réponse rapide. Oui c'est bien ca que j'essaye de faire.
Balatharas

Balatharas Le 21 mars 2018 à 14:07

@JuniorBawss
Si tu as suivi le tutoriel de PrimFX, lorsque ton user se connecte, tu définit la variable $_SESSION['id'] ? C'est bien ça ?
Dans ce cas, tu dois ajouter le paramètre id à l'url
<a href="profil.php" >Compte</a>
Devient alors

<a href="profil.php?id=<?= intval($_SESSION['id']) ?>">Compte</a>
TBMaster59

TBMaster59 Le 22 mars 2018 à 17:31

Bonjour,

J'ai remarquer une petite chose à la ligne 13:
<?php if (!isset($_SESSION['id'])): ?><nav>  <a href="index.php"> Accueil</a>  <a href="presentation.php">Infos</i></a>  <a href="rec.php">Videos</i></a>  <a href="precommande.php">Précommander</a>  <a href="profil.php" >Compte</a>  <div class="animation start-home"></div></nav><?php else: ?><nav>  <a href="index.php"> Accueil</a>  <a href="presentation.php">Infos</i></a>  <a href="connexion.php">Videos</i></a>  <a href="precommande.php">Précommander</a>  <a href="connexion.php" >Connexion</a>  <div class="animation start-home"></div></nav><?php endif; ?>
Là tu dit que si l'utilisateur n'est pas connecté tu affiche comme quoi il peut aller sur le compte, et si il est connecté tu affiche comme quoi il peut aller sur "Connexion", Je n'ai pas trop compris t'as question mais je pense que sa doit venir de la, pour cela tu as juste a retirer le "!" devant le "isset".
Sa te donnera ça:
<?php if (isset($_SESSION['id'])): ?>
Cordialement TBMaster59.
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte