<li class="dropdown">
<a href="signin.php" class="dropbtn">Account</a>
<div class="dropdown-content">
<?php
if(isset($_SESSION['on'])) {
echo '<a href="logout.php">Log out</a>';
}
else if (!isset($_SESSION['on'])) {
echo '<a href="signin.php">Sign in</a>';
echo '<a href="signup.php">Sign up</a>';
}
?>
</div>
</li>
所以这应该做的是,当您未登录时,您可以看到登录和注册下拉按钮,而不是注销。这部分有效。但是,一旦您登录,它不会显示注销按钮,而不会显示其他任何内容,而是仅显示登录和注册按钮。我该如何解决这个问题?
最佳答案
session_start 需要可用于启动或获取 session ,这需要放置在页面上 php 的开头。如果您正在检查 isset,则 else 已经是未设置 session 时会发生的结果,因此我删除了
else if (!isset($_SESSION['on']))
并将其替换为简单的 else。
session_start();
if(isset($_SESSION['on'])) {
echo '<a href="logout.php">Log out</a>';
} else {
echo '<a href="signin.php">Sign in</a>';
echo '<a href="signup.php">Sign up</a>';
}
请记住返回并在您设置 session 开始的页面上使用 session_start()。
关于php - html/php 下拉菜单无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50499189/