[RESOLU] apparaitre un li d'un men

Petit nouveau ! | 9 Messages

25 août 2015, 22:40

salut
j ' ai fait dispparaitre le li d'un menu avec css
.sousmenu11{
visibility: hidden;
}
pour le faire apparaître j'ai écrit mais pas marcher
""<li class="sousmenu11" >""
<?php
session_start() ;
if(isset($_SESSION['nom'])){
echo ' <h1 > '.$_SESSION['nom'].' : bien venue </h1>' ; 

if($_SESSION['nom']="imane"){
?>
<script type="text/javascript"> 
document.getElementById('sousmenu11').style.display='block';

</script> 
<?php
}


} else {
 header('location:/testeBaseDonnee/seConnecter.php');
exit;
}
?>
merci

ynx
Mammouth du PHP | 586 Messages

26 août 2015, 09:30

Salut,

visibility et display sont deux propriétés différentes.

Si tu veux utiliser display, il faut l'initialiser à la valeur none dans ton css :
.sousmenu11{
    display: none;
}
Si tu veux utiliser visibility, il faut modifier cette propriété dans ton javascript :
document.getElementById('sousmenu11').style.visibility='visible';
Note : si tu veux utiliser getElementById() pour récupérer l'élément, celui-ci doit avoir l'attribut id correspondant.

Bonne journée

Petit nouveau ! | 9 Messages

26 août 2015, 18:21

merci Mynx je pense que le Pb c'est le mélange Php et java c'est pourquoi pb n'est pas résolu

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 août 2015, 10:07

Bonjour,

Il y a effectivement quelques problèmes dans ton code :
$_SESSION['nom']="imane" ici tu affectes la valeur "imane" à la variable $_SESSION['nom']. Si tu veux les comparer l'opérateur est == et non =

Il faut effectivement distinguer les deux propriétés css :
- Visibility : hidden / visible, permet de rendre visible ou non un élément. Avec la valeur "hidden", l'espace occupé par celui-ci reste le même, l'élément est simplement devenu "transparent". S'il mesure 300px de haut, une fois masqué, tu auras un espace vide de 300px.
- Display : none / block / inline / ... permet de d'activer ou de désactiver un élément. Avec la valeur "none", l'espace occupé est libéré, l'élément ne fait plus partie des éléments affichés à l'écran. S'il mesure 300px de haut, une fois désactivé, tu n'auras pas d'espace à la place.

Ps : Java est un langage côté serveur (comme php), ici tu utilises du Javascript, ce n'est pas la même chose ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 9 Messages

27 août 2015, 11:29

bonjour Ryle == oui c'est pour comparer même avec se changement le pb reste je vais cherché encore et merci

Eléphanteau du PHP | 17 Messages

27 août 2015, 19:56

je crois qu'il faudrait que tu dises où et dans quel div(<div id="sousmenu11"></div> tu veux faire apparaitre ton menu.

Petit nouveau ! | 9 Messages

28 août 2015, 10:42

salut ca n' a pas marché merci

Eléphanteau du PHP | 17 Messages

28 août 2015, 16:20

Si je comprends bien, tu veux que si le nom soit imane, le menu n'apparaisse pas et si c'est tout autre nom, il apparaisse ?
Si oui, pourquoi ne pas faire plus simplement : Si nom existe et nom==imane echo 'pas de menu'; Else echo ' script menu';

Petit nouveau ! | 9 Messages

30 août 2015, 12:46

salut c'est le contraire le menu apparaisse si le nom est imane
merci

Eléphanteau du PHP | 17 Messages

30 août 2015, 18:19

Et ca tout simplement ?
<?php
session_start() ;
if (isset($_SESSION['nom']) && $_SESSION['nom']=="ok" )
{
      if (isset($_SESSION['nom']) && $_SESSION['nom']=="imane" )
      {
               echo 'ton menu simplement avec ses li, ses class....';
      }
      else 
      {
              echo ' <h1 > ' . $_SESSION['nom'] . ' : bienvenue </h1>' ; 
      }
}
else
{
       header('location:/testeBaseDonnee/seConnecter.php');
       exit;
}
?>