0

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

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

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

编辑:

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

4

3 回答 3

0

您可以将另一个变量 $current_user 与 $id 一起存储在会话中,正如您上面提到的(我猜这将不断从用户到用户),然后在您需要为当前用户显示消息的页面上,您可以使用

if($id == $current_user){
 //whatever you want to do
}
于 2012-05-15T20:59:25.937 回答
0

您需要在会话数据中存储当前登录用户的 ID、用户名或某些识别特征。

然后,您可以验证特定用户是否使用类似的代码登录

if ($_SESSION['currentUserID'] == $idOfTheUserThatTheBioBelongsTo)
    // let the user change the bio
于 2012-05-15T20:50:41.403 回答
0

您将必须包括 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>
于 2012-05-15T20:48:32.250 回答