我目前正在使用php作为我的服务器端脚本语言编写一个网站。我已经使用它,以便根据用户偏好使用cookie /会话存储当前用户。
我希望人们能够查看其他人的个人资料页面,但如果个人资料页面不是他们自己的,那么显然会禁用这些功能。我该怎么做?我应该使用会话还是其他什么?这显然必须有效,所以当点击其他人的个人资料页面的链接时,它会记住' profile.php'必须禁用某些功能。
由于
答案 0 :(得分:1)
这是一个常见的场景,这是我在遇到这样的情况时整合的模式。
假设您正在使用会话,当用户登录时,请设置:
$_SESSION['isLoggedIn'] = true;
当用户退出时,请设置:
$_SESSION['isLoggedIn'] = false;
然后你可以创建一个辅助函数来返回一个像这样的布尔值:
function is_user_logged_in() {
return $_SESSION['isLoggedIn'];
}
然后,在整个代码中,您可以根据辅助函数的返回值有条件地显示项目。
if ( is_user_logged_in() ) {
//show the logout button if current user is logged in
echo "<button class='logout'>Logout</button>";
} else {
//show the login button if current user is not logged in
echo "<button class='login'>Login</button>";
}
WordPress使用同名的帮助函数: is_user_logged_in() 。
答案 1 :(得分:0)
您必须确定登录者是谁......
这是系统流程
如果用户登录将该用户的唯一标识存储到Session
(即$_Session['UniqueID'] == UserID
)
因此,如果用户点击其他用户的个人资料,则会比较
$_Session['UniqueID'] == ClickedUserID
如果true
则启用功能
如果false
则禁用功能
我希望它会对你有所帮助。