PHP - 如果未登录,请删除元素


PHP - Remove Element If Not Logged In

我使用相同的标题.php和页脚.php用于CMS后端的php文件,因此当用户想要登录时,他们将是该标头的一部分.php我不希望他们看到,因为它是后端的一部分,例如

<section id="sidebar">
<p>Not to be seen</p>
</section>
<section id="content">
<p>Login here</p>
</section>

是否有一个PHP功能,如果用户登录,可以看到 #sidebar,未登录的人将删除它。使用显示:无;毫无意义,因为如果有人要删除该 CSS 样式,它仍然可见。

更新:

我找到了该怎么做。函数是

<?php if(($user = Users::authed()) !== false): ?>
<section id="sidebar">
    <p>Not to be seen</p>
</section>
<?php endif; ?>
<section id="content">
    <p>Login here</p>
</section>

感谢那些回答的人!

答案取决于您如何登录用户,即使用 cookie 或会话或其他东西。

然而,基本工作流程将是

if(user_logged_in())
echo "<section id='"sidebar'">
<p>Not to be seen</p>
</section>";

您必须使用本机会话尝试此场景,希望它对您有用

if(isset($_SESSION['username'])){
  <section id="sidebar">
  <p>Not to be seen</p>
  </section>
}else{
 <section id="content">
 <p>Login here</p>
 </section>
}

最简单的形式。

  1. 登录后,使用某些用户 ID 或用户名填充会话变量,例如$_SESSION["UserID"]

  2. 修改代码,如下所示:

    <节 id="侧边栏">

    不可见

    <?php>

    如果 ($_SESSION["用户 ID"]) {

    ?>

    <节 id="内容">

    在此登录

    <?php}?>