/ / Ocultando o script java do menu - javascript, php, jquery, html

Escondendo o script java menu - javascript, php, jquery, html

Estou tentando ocultar um deste menu suspenso quando o usuário faz login ou logout, eu uso $_Session para saber se o usuário está logado. Algo está errado com meu JavaScript. Espero que alguém possa ajudar. Aqui está o meu código:

Os dois menus suspensos que quero ocultar / mostrar:

<li class="dropdown" id="account" >
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Account
<b class="caret"></b>
</a>
<ul class="dropdown-menu" >
<li><a href="#">Login</a></li>
<li class="divider"></li>
<li><a href="#">Register</a></li>
</ul>

<li class="dropdown" id="user">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<?php
if(isset($_SESSION["username"])) {
echo " ".htmlentities($_SESSION["username"], ENT_QUOTES, "utf-8");
}
?>
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="#">Profile</a></li>
<li><a href="#">Messages</a></li>
<li class="divider"></li>
<li><a href="#">Logout</a></li>
</ul>

E aqui está o meu código JavaScript:

<script type="text/javascript">

if (isset($_SESSION["username"])) {
$("#user").show();
$("#account").hide();
} else {
$("#user").hide();
}

</script>

Respostas:

0 para resposta № 1

Você pode usar o PHP para incluir uma classe na div que deseja, assim você pode não precisar de javascript e / ou jQuery

<li class="dropdown <?php if(isset($_SESSION["username"])){echo "notvisible";} ?>" id="account" >

E use a classe com CSS para definir

.notvisible { display:none; }

Você também pode usar um .toggleclass () ou outro meio de ocultar / mostrar o menu posteriormente, se desejar.

Outra maneira seria ecoar o menu que você deseja com o PHP, por exemplo:

<?php
if(isset($_SESSION["username"])) {
echo "<li class="dropdown" id="account>"" >>> and whatever you want
} else {
echo "<li class="dropdown" id="account">" Hello user".$_SESSION["username"]."And whatever else"
}
?>