我目前正在使用php作为我的服务器端脚本语言编写一个网站。我已经让它工作,以便根据用户偏好使用cookie/会话存储当前用户。
我希望人们能够查看其他人的个人资料页面,但显然功能将被禁用,如果个人资料页面不是他们自己的。我该怎么做呢?我应该使用会话还是其他方法?这显然必须工作,所以当链接到别人的个人资料页面被点击,它记得'profile.php'将不得不禁用一些功能。
谢谢
这是一个常见的场景,下面是我在遇到这种情况时集成的一个模式。
假设您正在使用会话,当用户登录时,设置:
$_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().
您必须确定谁是登录的人…
系统流程
如果用户登录将该用户的唯一标识存储到Session
(我。e $_Session['UniqueID'] == UserID
)
如果用户点击其他用户的个人资料它会比较
$_Session['UniqueID'] == ClickedUserID
如果是true
,则启用特性如果是false
,则禁用功能
希望对你有帮助。