2015-04-05 88 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. 
}