2012-05-20 3 views
2

Вот мой сценарий:Если условно с или

$user_data = user_data($name); 

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

    } 

Если я использую, если заявление с пустым {} это работает, но как только я использую этот сценарий он не работает.

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 его работы, но Littel ошибка в коде ур его недостающего) ТНХ – Harinder

+0

если (! In_array ($ user_data [ «типа»] , массив («клерк», «админ»))) – Harinder

4

Использование && вместо || в if заявлении:

Try:

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

благодаря человеку она работала – Harinder

Смежные вопросы