PHP功能的启用/禁用取决于用户

PHP功能的启用/禁用取决于用户,php,Php,我目前正在编写一个网站,使用php作为我的服务器端脚本语言。我已经让它工作,以便根据用户偏好使用cookie/会话存储当前用户 我希望人们能够查看其他人的个人资料页面,但显然,如果个人资料页面不是他们自己的,功能将被禁用。我该怎么办?我应该使用会话还是其他什么?这显然必须起作用,因此当点击到其他人的个人资料页面的链接时,它会记住“profile.php”必须禁用一些功能 谢谢这是一个常见的场景,下面是我在遇到这种情况时集成的模式 假设您正在使用会话,当用户登录时,设置: $_SESSION['i

我目前正在编写一个网站,使用php作为我的服务器端脚本语言。我已经让它工作,以便根据用户偏好使用cookie/会话存储当前用户

我希望人们能够查看其他人的个人资料页面,但显然,如果个人资料页面不是他们自己的,功能将被禁用。我该怎么办?我应该使用会话还是其他什么?这显然必须起作用,因此当点击到其他人的个人资料页面的链接时,它会记住“profile.php”必须禁用一些功能


谢谢

这是一个常见的场景,下面是我在遇到这种情况时集成的模式

假设您正在使用会话,当用户登录时,设置:

$_SESSION['isLoggedIn'] = true;
当用户注销时,设置:

$_SESSION['isLoggedIn'] = false;
然后,您可以创建一个助手函数,该函数返回如下布尔值:

function is_user_logged_in() {
    return $_SESSION['isLoggedIn'];
}
然后,在整个代码中,您可以根据helper函数的返回值有条件地显示项

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>";
}
if(用户是否已登录()){
//如果当前用户已登录,则显示注销按钮
回显“注销”;
}否则{
//如果当前用户未登录,则显示登录按钮
回显“登录”;
}

WordPress使用同名的帮助函数:

您必须确定谁是登录者

下面是系统流程

如果用户登录,请将该用户的唯一身份存储到
会话

(即
$\u会话['UniqueID']==UserID

因此,如果用户单击其他用户的配置文件,它将比较

$_Session['UniqueID'] == ClickedUserID
如果
true
则启用功能 如果
false
则禁用功能


我希望它能帮助您。

如果需要禁用2或3个特定功能,您可以使用会话变量。或者您可以在数据库上创建一个名为privileges的表。并为每个可以启用或不能启用的功能添加布尔字段。每次你做一个查询,你都会做一个if条件if(privile['select']==TRUE)谢谢,这更像是Facebook风格,你可以点击其他人的个人资料,编辑个人信息之类的东西都会被禁用。我想你只需要设置一个会话变量来记住上次点击的配置文件链接,并对照当前登录的用户检查它?你有这个数据库吗?很简单。创建一个名为user\u permission的表,并在注册时为每个用户设置默认权限。他们以后可以修改。在profile.php上,您可以设置如下条件:if(edit==True){//show enabled}else{//show disabled}