transformation lien connexion en deconnexion

horde77

horde77 Le 1 décembre 2017 à 23:38 (Édité le 25 janvier 2019 à 17:54)

Bonsoir, 
J'ai suivi attentivement le tutoriel sur la création d'un espace membre. Seulement je me retrouve confronté à un problème. Je souhaiterai qu'une fois l'utilisateur connecté, le "Connexion" devienne "Déconnexion" et qu'à côté de Déconnexion, il y ait le pseudo de l'utilisateur avec un lien intégré renvoyant à son profil. 
Voici le code utilisé :

<li class="plain-link"><a href="/membres/profil.php?id=<?php echo $_SESSION['id'];?>"> <?php echo $_SESSION['pseudo'];?></a></li>
<?php if (isset($_SESSION['cookieconnect']) && $_SESSION['cookieconnect']==1): ?>
<li class="plain-link"><a href="/membres/deconnexion.php" class="btn  btn-danger">Deconnexion</a></li>
<?php else: ?>
<li class="plain-link"><a href="/membres/index.php" class="">Connexion</a></li> 
<?php endif ?>
Pourriez m'aider s'il vous plait ? 
Izen

Izen Le 3 décembre 2017 à 16:50 (Édité le 3 décembre 2017 à 21:13)

Tu dois dire a ton code lorsque l'utilisateur est connecté tu affiche ça et lorsqu'il est deconnecte tu affiche ça je te donne un petit code tu devra juste l'éditer ( je te donne le petit code css avec x) 

                <?php
                  if(!isset($_SESSION['pseudo'])) {echo('
                    <div class="dropdown">
                      <button class="dropbtn">Inscription</button>
                      <div class="dropdown-content">
                        <a href="membres/inscription.php">Inscription</a>
                        <a href="membres/connexion.php">Connexion</a>
                      </div>
                    </div>
                      ');};
                      if(isset($_SESSION['pseudo'])) {echo('
                        <div class="dropdown">
                          <button class="dropbtn">Informations</button>
                          <div class="dropdown-content">
                            <a href="membres/profil.php?id='.$_SESSION['id'].'">Profil</a>
                            <a href="membres/deconnexion.php">Deconnexion</a>
                          </div>
                        </div>
                          ');};
                 ?>

/* CSS */
   .dropbtn {
    background-color: rgb(65, 60, 60);
    color: rgba(255, 255, 255, 0.7);
    padding: 19px;;
    font-size: 16px;
    border: none;
    cursor: pointer;
}
.dropdown {
    position: relative;
    display: inline-block;
}
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}
.dropdown-content a:hover {background-color: #f1f1f1}
.dropdown:hover .dropdown-content {
    display: block;
}
.dropdown:hover .dropbtn {
    background-color: rgb(51, 51, 51);
}



Voila ce code marche sur bonne chance <3
horde77

horde77 Le 9 décembre 2017 à 10:45

avec un peu de retard grand merci pour ton code parfaitement fonctionnelle j'ai du adapter un peux pour que sa colle a mon css mais nikel encore une fois merci bcp 😀
Balatharas

Balatharas Le 9 décembre 2017 à 13:49

Ce qui n’allait pas dans ton code c’est que tu demandais le cookieconnect et ce cookie peut etre que tout ceux connectes ne l’ont pas créé donc comme l’a envoyé Izen il faut utiliser $_SESSION['id'] ou pseudo
Raphmania

Raphmania Le 13 décembre 2017 à 13:52

Bonjour ! Super code merci !
J'ai une question cependant !
J'aimerai ajouter ce lien :
<a href="profil.php?id=<?php echo $_SESSION['id']; ?>
Dans ce menu :
     <?php
                  if(!isset($_SESSION['id'])) {echo('
              <li><a href="connexion.php" class="lien">Connexion</a></li>
        <li><a href="inscription.php" class="lien">Inscription</a></li>
                      ');};
                      if(isset($_SESSION['id'])) {echo('
        <li><a href="editionprofil.php" class="lien">Mon compte</li>
        <li><a href="deconnexion.php" class="lien">Déconnexion</a></li>
                          ');};
                 ?>=
A la rubrique mon compte... Mais impossible... La page me retourne l'erreur :
( ! ) Parse error: syntax error, unexpected 'id' (T_STRING) in C:\wamp641\www\espace\nonconnect\menu.php on line 23


Quelqu'un a une idée ? 😀
Merci !
horde77

horde77 Le 13 décembre 2017 à 16:27 (Édité le 13 décembre 2017 à 16:30)

salut essaye comme sa 
<?php 
if(isset($_SESSION['pseudo'])) {echo('<a href="https://tonlien/membres/profil.php?id='.$_SESSION['id'].'">Mon Profil</a>');}; 
?>


Izen

Izen Le 13 décembre 2017 à 16:58

Essaye de faire ce qu'il ta envoye si t arrive pas j aurais besoin de screen pour continuer
Raphmania

Raphmania Le 13 décembre 2017 à 18:07

Impeccable ca marche ! Une petite erreur de syntaxe en fait 😰 En voyant le code j'me suis dis : "mais c'est bien sur" ! En tout cas merci
Balatharas

Balatharas Le 14 décembre 2017 à 13:55

Pas besoin de parenthèses au echo:
<?php
echo 'Salut !';
// C'est pareil que
echo('Salut');
?>
<!-- Mais on peut aussi faire ça (/!\ juste pour echo /!\) -->
<?= 'Salut !' ?> <!-- Et dans ce cas là, pas besoin de ; après le string -->
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte