не работает php oop switch

Мой случай переключения перенаправляет каждого пользователя на первый случай, что не так?
Я хочу, чтобы «Президент» перенаправил на admin.php

<?php require "header.php"; ?>
<?php
if ( ! isset($_SESSION['email']) ) {
$msg = urlencode('U dient ingelogd te zijn om op deze pagina te kunnen komen.');
header('location: login.php?msg=' . $msg);
die();
}

$role = $_SESSION['jobTitle'];
switch($role) {
case 'Finance' AND 'VP Finance':
header('location: finance.php');
break;
case 'VP Sales' AND 'Sales Manager (NA)' AND 'Sales Rep':
header('location: sales.php');
break;
case 'President':
header('location: admin.php');
break;
default:
session_destroy();
header('location: login.php');
}
?>
</div>
</body>
</html>

это моя база данных
http://i57.tinypic.com/2em21aw.png

-1

Решение

  1. Я думаю, что вы имели в виду ИЛИ вместо AND.
  2. Вы пытаетесь сравнить результат AND с переменной $ role. Результат И всегда верен.

Вы могли бы переписать

switch($role) {
case 'Finance':
case 'VP Finance':
header('location: finance.php');
break;
case 'VP Sales':
case 'Sales Manager (NA)':
case 'Sales Rep':
header('location: sales.php');
break;
case 'President':
header('location: admin.php');
break;
default:
session_destroy();
header('location: login.php');
}

Или вы можете написать что-то более сложное с выражением внутри case.

switch(true) {
case ($role == 'Finance' OR $role == 'VP Finance'):
header('location: finance.php');
break;
case ($role =='VP Sales' OR $role =='Sales Manager (NA)' OR $role =='Sales Rep'):
header('location: sales.php');
break;
case $role == 'President':
header('location: admin.php');
break;
default:
session_destroy();
header('location: login.php');
}
0

Другие решения

И операторы AND нельзя использовать в случаях переключения … Попробуйте выполнить следующее:

switch($role) {
case 'Finance':
case 'VP Finance':
header('location: finance.php');
break;
case 'VP Sales':
case 'Sales Manager (NA)':
case 'Sales Rep':
header('location: sales.php');
break;
case 'President':
header('location: admin.php');
break;
default:
session_destroy();
header('location: login.php');
}
2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector