如何仅向登录者显示链接


How to show link only to person logged in?

我有一个链接,使用jQuery,显示一个更新用户简历的框。但是,我希望该链接仅在用户登录时显示,并且仅在该用户的页面上显示。因此,例如,如果我登录,它会显示在我的页面上,但是如果我转到朋友页面,它不会显示,因此我不必选择更改他们的简历。这是我的代码:

    <div class="changeBio">
        <?php
            if ($_SESSION['loggedin'] == true) {
                ?><a href="" id="showBio">Change bio</a><?php
            }
        ?>
    </div>

此代码将在用户登录时检查它,但是我应该在 if 语句中输入什么来检查它是否正确用户?提前感谢!

编辑:

当每个用户登录时,他们都有一个来自存储其信息的数据库的唯一 ID。每个朋友页面都是根据这些ID显示的,所以我只希望链接显示在登录者的页面上,而不是他们的朋友页面上。我试过了 如果($_SESSION['loggedin'] && $id != $_GET['id'](和 if ($_SESSION['loggedin'] && $id == $_SESSION['id'](但是他们都不起作用..在您正在查看的朋友页面的 url 中,如果有帮助,它将该用户的 id 显示为 GET 变量。

你将不得不包括WHO已登录,而不仅仅是他们是否登录。 您还需要该信息来确定要显示的简历。

您的数据是这样的:

<div class="changeBio">
    <?php
        $id = $_POST['id'];
        if ($_SESSION['loggedin'] == true && $_POST['id'] == $_SESSION['loggedin_userid']) {
        ?><a href="biopage.php?userid='<?php echo $_SESSION['loggedin_userid']; ?>'" id="showBio">Change bio</a><?php
        }
    ?>
</div>
您需要在

会话数据中存储当前登录用户的 ID、用户名或某些识别功能。

然后,您可以验证特定用户是否使用类似于

if ($_SESSION['currentUserID'] == $idOfTheUserThatTheBioBelongsTo)
    // let the user change the bio
您可以将

另一个变量 $current_user 与上面提到的$id一起存储在会话中(我想它会因用户而异(,然后在您需要显示当前用户消息的页面上您可以使用

if($id == $current_user){
 //whatever you want to do
}