PHP和jQuery:如果用户登录或未登录,则显示/隐藏div

PHP和jQuery:如果用户登录或未登录,则显示/隐藏div,php,jquery,Php,Jquery,编辑: 非常感谢您的评论/回复。 即使我删除了JS,并且只使用PHP if/else语句,我仍然会得到相同的错误 我一直遇到同样的错误: 下面的2个div可见,而无论用户是否登录,一次只能显示其中一个div 为了简单起见,我删除了2个div中的html <div id="header_wrapper"> <div id="loginbutton"></div> <div id="menu"> <ul> <li></

编辑: 非常感谢您的评论/回复。 即使我删除了JS,并且只使用PHP if/else语句,我仍然会得到相同的错误

我一直遇到同样的错误:

下面的2个div可见,而无论用户是否登录,一次只能显示其中一个div

为了简单起见,我删除了2个div中的html

<div id="header_wrapper">

<div id="loginbutton"></div>

<div id="menu">
<ul>
<li></li>
<li></li>
<li></li>    
</ul>
</div>

<?php 
if (!isset($_SESSION['id']) || empty($_SESSION['id'])){  ?>

<script>
document.getElementById("menu").style.display = "none";
document.getElementById("loginbutton").style.display = "show";
</script>
<?php }
else {  ?>
<script>
document.getElementById("loginbutton").style.display = "none";
document.getElementById("menu").style.display = "show";
</script>

<?php 
}
?>
</div>
$\u会话['id']不是空的。事实上,如果我在页面上回显$_SESSION['id'],我会得到正确的会话

我遗漏了什么吗?

编辑:

<div id="loginbutton"></div>

<div id="menu">
<ul>
<li></li>
<li></li>
<li></li>    
</ul>
</div>

<?php 
if (isset($_SESSION['id']) && !empty($_SESSION['id'])){  ?>
<script>
document.getElementById("loginbutton").style.display = "none";
document.getElementById("menu").style.display = "show";
</script>
<?php }
else {  ?>

<script>
document.getElementById("menu").style.display = "none";
document.getElementById("loginbutton").style.display = "show";
</script>

<?php 
}
?>
</div>
这应该可以编辑:

<div id="loginbutton"></div>

<div id="menu">
<ul>
<li></li>
<li></li>
<li></li>    
</ul>
</div>

<?php 
if (isset($_SESSION['id']) && !empty($_SESSION['id'])){  ?>
<script>
document.getElementById("loginbutton").style.display = "none";
document.getElementById("menu").style.display = "show";
</script>
<?php }
else {  ?>

<script>
document.getElementById("menu").style.display = "none";
document.getElementById("loginbutton").style.display = "show";
</script>

<?php 
}
?>
</div>
这应该可以改变

改变

在此上下文中没有名为show的有效值。如果您有Firebug或类似的问题,请在控制台中检查进一步的js错误。如果没有,请立即下载:-

更改

改变


在此上下文中没有名为show的有效值。如果您有Firebug或类似的问题,请在控制台中检查进一步的js错误。如果没有,请立即下载:-

如果您将html放入php If块中,或者需要使用javascript,您也可以只使用php来完成,那么为什么要添加JS呢

<div id="header_wrapper">
<?php 
if (!isset($_SESSION['id']) || empty($_SESSION['id'])){  ?>
<div id="loginbutton"></div>
<?php }
else {  ?>
<div id="menu">
<ul>
<li></li>
<li></li>
<li></li>    
</ul>
</div>
<?php 
}
?>
</div>

如果您将html放在php if块中,或者需要使用javascript,您也可以只使用php来实现,那么为什么要添加JS呢

<div id="header_wrapper">
<?php 
if (!isset($_SESSION['id']) || empty($_SESSION['id'])){  ?>
<div id="loginbutton"></div>
<?php }
else {  ?>
<div id="menu">
<ul>
<li></li>
<li></li>
<li></li>    
</ul>
</div>
<?php 
}
?>
</div>

如果使用如下示例中的会话,则可以隐藏div

<?php if(isset($_SESSION['id'])) { ?><div>div content</div><?php }?>

如果使用如下示例中的会话,则可以隐藏div

<?php if(isset($_SESSION['id'])) { ?><div>div content</div><?php }?>


不要使用else,如果使用isset$\u SESSION['id'],顺便说一句,它应该是……dislpay=visible;我不确定这是否重要,但请尝试更改为感谢您的帮助,它仍然有问题,要检查js控制台一旦您登录,就没有办法注销?更改不要使用其他,如果使用isset$\u会话['id'],并且顺便说一句,它应该是…dislpay=visible;我不确定这是否重要,但请尝试更改为感谢您的帮助,它仍然有问题,要检查js控制台一旦您登录,就无法注销?仅更改在下有效HTML5@random-是的,但没有任何迹象表明它是html5文档。感谢您的帮助,它仍然有缺陷,去检查jsconsole@CharlieHarris-不客气。您收到了哪些信息/警告/错误?根据法律,单独是有效的HTML5@random-是的,但没有任何迹象表明它是html5文档。感谢您的帮助,它仍然有问题,要检查jsconsole@CharlieHarris-不客气。你收到了什么信息/警告/错误?你能告诉我到底发生了什么吗?如用户登录时显示的内容?编辑:当用户登录时,两个div都可见。一旦用户注销,只有菜单可见,而它应该是LoginButtonControl,使其在if语句中为“和”和“而不是”或“尝试我的更新代码,并在用户注销后删除会话?您能告诉我到底发生了什么吗?如用户登录时显示的内容?编辑:当用户登录时,两个div都可见。一旦用户注销,只有菜单可见,而它应该是LoginButtonControl,使其在if语句中为“and”而不是“or”。请尝试我的更新代码,并在用户注销后删除会话?PHP是我最初尝试的,但没有成功,它仍然同时显示两个div。如果/否则只有一个条件如何运行?两个条件如何同时运行?think man?非常感谢您的输入,我也不明白!我以前从来没有遇到过这样的问题!这是正确答案,但你必须使用另一个iftest。当用户登录时,将$\u SESSION['LoggedIn']=true。然后您可以检查IFAsset$\u会话['LoggedIn']&&$\u会话['LoggedIn']{关于PHP是我一开始尝试的,但是运气不好,它仍然同时显示2个div。如果在if/else中只有一个条件将如何运行这两个条件如何同时运行think man?非常感谢您的输入,我也不明白!我以前从未遇到过这样的问题!这是正确的答案,但您必须使用另一个iftest。当用户登录时,将$\u SESSION['LoggedIn']=true。然后您可以在
<div id="header_wrapper">
<?php 
if (!isset($_SESSION['id']) || empty($_SESSION['id'])){  ?>
<div id="loginbutton"></div>
<?php }
else {  ?>
<div id="menu">
<ul>
<li></li>
<li></li>
<li></li>    
</ul>
</div>
<?php 
}
?>
</div>
<?php if(isset($_SESSION['id'])) { ?><div>div content</div><?php }?>