Afficher un texte qui est cacher en css
Résolu
johnjohn
-
johnjohn -
johnjohn -
Bonjour,
Après de multiple recherche je n'arrive pas à afficher du texte que j'ai caché en css.
J'ai crée un espace membre et je voudrais une fois que le membre est connecté afficher à coté de "mon compte" un lien "( deconnection ")mais si personne n'est connecté le lien ne doit pas est présent.
Pour commencé j'ai mis une class="deconnection" avec comme mise en forme .css:
Mais comment je peux faire pour l'afficher lorsqu'un membre est connecté?
Merci de votre aide.
Après de multiple recherche je n'arrive pas à afficher du texte que j'ai caché en css.
J'ai crée un espace membre et je voudrais une fois que le membre est connecté afficher à coté de "mon compte" un lien "( deconnection ")mais si personne n'est connecté le lien ne doit pas est présent.
Pour commencé j'ai mis une class="deconnection" avec comme mise en forme .css:
.deconnection
{
font-family: arial;
font-size: 80%;
visibility: hidden;
}
Mais comment je peux faire pour l'afficher lorsqu'un membre est connecté?
<?php
session_start();
// si le membre est connecté
if (isset($_SESSION['mail'])) {
// on affiche la class deconnection quel code utiliser?
}
?>
Merci de votre aide.
5 réponses
-
Tu peux y aller en Javascript :
D'abord, je te conseille de mettre un ID à ton bloc de texte ; ce sera plus facile. Ensuite, mets dans ton PHP :
<?php if (isset($_SESSION['mail'])) { print '<script type="text/javascript"> document.getElementById("monID").style.visibility="visible"; </script>'; } ?>
Ou sinon, plus "propre", au début de ta page tu déclares une variable :
<?php session_start(); if (isset($_SESSION['mail'])) { $visible = 'visible'; } else { $visible = 'hidden'; } ?>
et tu passes la variable à ta balise HTML :
<div class="deconnection <?php print $visible; ?>">...</div>
et finalement tu modifies ton CSS :
.deconnection { font-family: arial; font-size: 80%; } .deconnection.visible { visibility: visible; } .deconnection.hidden { visibility: hidden; }
J'espère que ça t'aide !!! :) -
Pour le Mon Compte/Mon panier, je vois deux solutions.
Soit tu changes l'ordre dans ton HTML, soit tu utilises des attributs CSS float:right; qui vont afficher tes éléments dans un ordre inversé au float:left;.
Mais de ce que je comprends, tu voudrais que, quand l'utilisateur est connecté, le lien "Mon Compte" soit à gauche, mais qu'il soit à droite lorsqu'il est déconnecté ?
Si c'est le cas j'opterais pour une solution qui ressemble à celle de Elsyfiryos. mets un bout de PHP à l'endroit où se trouve le HTML du lien de Déconnexion :
<?php if (isset($_SESSION['mail'])) { print '<a href="#" class="deconnection">Mon Compte (Déconnexion)</a> <a href="#">Mon Panier</a>'; } else { print '<a href="#">Mon Panier</a> <a href="#" class="connection">Mon Compte</a>'; } ?>
Comme ça tu peux rétablir ton CSS comme il était avant ; le lien "deconnection" ne s'affichera même pas si l'utilisateur n'est pas connecté, donc pas besoin de le cacher... -
Merci beaucoup j'ai opté pour la 2e solutions ca marche nikel.
Juste une chose qui me dérange:
Le deconnection quand est visible se met bien:
Mon compte (deconnection) Mon panier
Par contre quand il est pas visible il se met comme ça:
Mon compte Mon panier
Comment décaler Mon compte vers la droite pour qu'il soit à coté de Mon panier? -
Techniquement, avec juste ceci:
<?php session_start(); // si le membre est connecté if (isset($_SESSION['mail'])) { // on affiche la class deconnection quel code utiliser? } ?>
Cela devrais marcher.
En clair ça veut dire:
"Si le membre a la session mail (en clair, qu'il est connecté), alors on affiche le code de déconnexion."
Après, tu peux faire ceci:<?php session_start(); // si le membre est connecté if (isset($_SESSION['mail'])) { echo '<a href='deco.php' title='Déconnexion' >Déconnexion</a>'; } ?>
Après tu fais un fichier deco.php<?php session_start(); $_SESSION = array(); // session_unset(); session_destroy(); header('Location: ' . $_SERVER['HTTP_REFERER'] ); ?>
session_start(); <-- obligatoire
session_unset(); <-- détruit toute les session
session_destroy(); <-- détruit la session
header('Location: ' . $_SERVER['HTTP_REFERER'] ); c'est pour retourner a la page précédente. (tu pourrais mettre vers la page d'accueil ou autre.)
A+
Je recherche une entreprise pour contrat d'alternance en informatique, IDF. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -