編集:すべてのコメント/返信に感謝します。JS を削除して PHP の if/else ステートメントのみを使用しても、同じエラーが発生します。
私は同じエラーに遭遇し続けます:
以下の 2 つの div は表示されますが、一度に表示されるのは 1 つだけです (ユーザーがログインしているかどうかに関係なく)。
簡単にするために、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>
$_SESSION['id'] は空ではありません。実際、ページで $_SESSION['id'] をエコーすると、正しいセッション番号が取得されます。
何か不足していますか?