comment afficher un menu diffèrent suivant le fait que l on soit visiteur ou membre
- Accueil
- Forum
- Programmation
- PHP
- comment afficher un menu diffèrent suivant le fait que l on soit visiteur ou membre
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 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 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 Le 15 février 2021 à 08:10 (Édité le 1 janvier 1970 à 01:00)
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 Le 15 février 2021 à 16:05 (Édité le 1 janvier 1970 à 01:00)
bonjour merci de la reponse oui je dois indiquer <?php session_start();
?>
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 Le 16 février 2021 à 11:08 (Édité le 1 janvier 1970 à 01:00)
merci pour la reponse le test est ok j ai compris le principe merci