2015-04-05 87 views
0

我有一个用户级登录系统,我希望所有登录用户都能进入主页。我想知道为什么下面的逻辑不起作用。请提出更好的方法。PHP逻辑OR运算符在IF ELSE语句中

$role = $_SESSION['sess_userlevel']; 

if($role == 1 || $role == 2 || $role == 3){ 
     $securep = '../'; 
     header('Location: '.$securep); 
}else{ 
    //back to the login page. 
} 

该代码的问题在于它重定向回登录页面。

+1

究竟你 “不工作” 是什么意思? – hynner 2015-04-05 07:20:17

+0

如果我使用$ role == 2登录,它会重定向回登录页面。 – 2015-04-05 07:21:28

+1

您应该使用完整路径(例如'/ full/path/to/page')而不是'../'。 – 2015-04-05 07:33:30

回答

1

也许你要插入

session_start(); 

您访问$_SESSION阵列之前?

前还要检查的

var_dump($role) 

结果你的if语句

0
$role = $_SESSION['sess_userlevel']; 

if($role == 1 || $role == 2 || $role == 3){ 
    $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER['DOCUMENT_ROOT']"; 
      header('location:'.$actual_link.'yourpathfile.php'); 
}else{ 
    //back to the login page. 
}