comment afficher un menu diffèrent suivant le fait que l on soit visiteur ou membre

flexi2202

flexi2202 Le 14 février 2021 à 18:28 (Édité le 14 février 2021 à 18:32)

bonjour a tous je viens de creer un petit site

mais je bloque avec la notion des sessions et surtout le php

pour certains d entre vous cela pourra sembler tres facile n de on cote cela fait des jours que je cherche et pourtant surement si simple a realiser

je souhaiterais que les boutons inscription et connexion ne soit affiche que pour les visiteurs et que pour les membres cela soit juste inscrit deconexion

je vous presente un code mais qui ne fonctionne pas merci d avance pour l aide le voici en deut de code

<?php
session_start();
?>

au niveau du menu

php
<?php if (isset($_SESSION['id'])) { ?>
                           <li><a href="index.php"> Accueil </a></li>
                                <li><a href="recettes.php"></a></li>
                           etc...
                                <li><a href="profil.php"> Accueil </a></li>
                                <li><a href="déconnexion.php"></a></li>
<?php } 
else { ?>
                            <li><a href="index.php"> Accueil </a></li>
                                <li><a href="recettes.php"></a></li>
                           etc...
                                <li><a href="connexion.php"> Accueil </a></li>
                                <li><a href="inscription.php"></a></li>
   <?php } ?>`
Donuts

Donuts Le 14 février 2021 à 20:49 (Édité le 14 février 2021 à 20:49)

Bonsoir,

En partant du principe que la variable de session existe ( création lors de la connexion d'un membre ), logiquement ton code devrai fonctionner. Ce qui est bizarre c'est que tes deux capture démarre en ligne 1, j'imagine que tu a deux fichiers php. Est ce bien le cas ?

flexi2202

flexi2202 Le 14 février 2021 à 20:55 (Édité le 14 février 2021 à 20:55)

bonsoir merci pour la reponse desole je resposte le bon code

non en fait j ai mis session_start en debut de code , le reste est au millieu du code

php
<?php if (isset($_SESSION['id'])) { ?>

                                <li><a href="profil.php"> Accueil </a></li>
                                <li><a href="déconnexion.php"></a>deconnexion</li>
<?php } 
else { ?>

                                <li><a href="connexion.php"> connexion  </a></li>
                                <li><a href="inscription.php"></a>inscription</li>
   <?php } ?>`
Donuts

Donuts Le 15 février 2021 à 08:10

Salut,

Pour que ton code fonctionne, tu a besoin de créer la variable " $_SESSION ". Dans ce bout de code elle n'est pas existante, tu te retrouve donc toujours dans le " else ". ;)

flexi2202

flexi2202 Le 15 février 2021 à 16:05

bonjour merci de la reponse oui je dois indiquer <?php session_start();

?>

Donuts

Donuts Le 15 février 2021 à 18:37 (Édité le 15 février 2021 à 18:38)

Session start ne permet que de maintenir une session entre page. Mais la variable est inexistante.

Pour faire ton test place en début de code ( juste après session start ) $_SESSION['id'] = 2, puis actualise ta page. La session "id" sera créée avec un id = 2 elle restera existante jusqu'a ce que tu ferme la page. :)

flexi2202

flexi2202 Le 16 février 2021 à 11:08

merci pour la reponse le test est ok j ai compris le principe merci

Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte