我有一个链接,使用jQuery,显示一个框来更新用户的生物。但是,我希望该链接仅在用户登录时显示,并且仅在该用户的页面上显示。因此,举例来说,如果我已登录,它会显示在我的页面上,但如果我转到朋友页面,它就不会显示出来以便我不必选择改变他们的生物。这是我的代码:
<div class="changeBio">
<?php
if ($_SESSION['loggedin'] == true) {
?><a href="" id="showBio">Change bio</a><?php
}
?>
</div>
此代码将检查用户是否已登录,但是我应该在if语句中添加什么来检查它是否是正确的用户?提前谢谢!
编辑:
当每个用户登录时,他们在数据库中具有存储其信息的唯一ID。每个朋友页面都会根据这些ID显示,因此我只希望链接显示在登录人员的页面上,而不是显示在他们的朋友页面上。我试过了 if($ _SESSION [&#39; loggedin&#39;]&amp;&amp; $ id!= $ _GET [&#39; id&#39;]) 和 if($ _SESSION [&#39; loggedin&#39;]&amp;&amp; $ id == $ _SESSION [&#39; id&#39;]) 但它们都不起作用..在朋友页面的网址中,您正在查看它会将该用户的ID显示为GET变量(如果有帮助的话)。
答案 0 :(得分: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>
答案 1 :(得分:0)
您需要在会话数据中存储当前登录用户的ID,用户名或某些识别功能。
然后,您可以使用类似于
的代码验证特定用户是否已登录if ($_SESSION['currentUserID'] == $idOfTheUserThatTheBioBelongsTo)
// let the user change the bio
答案 2 :(得分:0)
您可以在会话中存储另一个变量$ current_user以及$ id,如上所述(我猜这将继续从用户更改为用户),然后在您需要为当前用户显示消息的页面上可以使用
if($id == $current_user){
//whatever you want to do
}