2012-05-20 74 views
2

這裏是我的腳本:如果有條件有或

$user_data = user_data($name); 

     if($user_data['type'] == 'clerk') { 
     } elseif ($user_data['type'] == 'admin'){ 
     }else 
     { header("Location: login_admin1.php");} 

    } 

如果我使用if語句與空白{}它的工作原理,但只要我使用這個腳本它不工作。

if($user_data['type'] != 'clerk' || $user_data['type'] != 'admin') 
{ header("Location: login_admin1.php");} 

我要檢查,如果$user_data['type']是文員或管理員,(僅文員或管理員訪問頁)可以查看頁面。如果不是他們中的一個,他們將無法訪問該頁面。

+4

http://en.wikipedia.org/wiki/De_Morgan%27s_laws –

回答

3

爲什麼不使用in_array()

if (! in_array($user_data['type'], array("clerk", "admin"))) { 
    // Is neither Clerk, nor Admin. 
} 

減少不得不寫$user_data['type']一遍又一遍。

+0

YAA其工作,但在我們的代碼的缺失)THX – Harinder

+0

LITTEL錯誤,如果(!in_array($ USER_DATA [ '型'] ,數組(「職員」,「管理員」))) – Harinder

4

使用&&而不是||if聲明:

嘗試:

if($user_data['type'] != 'clerk' && $user_data['type'] != 'admin') { 
    header("Location: login_admin1.php"); 
} 
+0

感謝的人,它的工作 – Harinder