2017-06-09 44 views
0

我想知道是否有可能允许某个用户访问网页,但如果没有以合适的用户身份登录,则拒绝并重定向到索引页面。页面只对某些用户可访问PHP


与会议在PHP工作

if ($SESSION["username"] == "... and ... " { 
allow access 
} else { 
deny access 
} 


这样的事情?

+0

更好 - 为用户分配角色并按角色限制页面,因为如果您通过用户名进行限制,您将拥有大量条件 – kRicha

+0

好的做法是允许用户角色访问。而不是用户名。以上使用会话的方法是检查用户访问的方法之一。但不建议使用用户名。太难编码。 –

+0

在您的数据库中添加一个角色列,并检查用户的会话是否存在,并且用户具有访问该页面的角色,这意味着'验证和授权' –

回答

4

这里有你想要的..

添加一个字段的用户表,并在其分配的角色。如用户,管理员等等

当启动会话,设置会话变量,并为用户分配角色(当然从数据库中...)

$_SESSION['role'] == "admin"; 

最后,你可以使用这样的事情来检查 -

if((isset($_SESSION['role']) && $_SESSION['role'] == "admin")){ 
    header("location: admin.php"); 
}else{ 
    header("location: index.php"); 
} 

我希望这可以帮助。

0

是的,这是可能的

例子:

<?php 
    if(isset($_SESSION['admin'] && $_SESSION['admin'] != ""){ 
      Allow Access; 
      header("location:admin.php"); 
    } else if(isset($_SESSION['user'] && $_SESSION['user'] != ""){ 
      Allow Access; 
      header("location:user.php"); 

    } 
+0

感谢您的支持!但我没有任何像管理员帐户,只是他们登录的名称。所以例如只有“伯特”,“杰克”和“玛斯”可以访问页面,我会怎么做? – maus

+0

好的,当他们登录保存他们的名字在会话中,并检查页面头像这样的会话这样的 if($ _ SESSION ['name'] ==“bert”|| $ _SESSION ['name'] ==“maus” || $ _SESSION ['name'] ==“jack”){ 允许访问; } –

相关问题