Supongo que ya lo has solucionado, pero por si acaso:
Código PHP:
$_SESSION['idnivel'] = $row['idnivel']; //aquí asignando recuperando el id nivel de la base de datos
Después
Código PHP:
// aquí vamos a comparar lo que nos ha devuelto la base de datos como idnivel
switch ($_SESSION['idnivel']) {
case 'Administrador': // Lo que contiene idnivel debe coincidir con los casos del switch
header("Location: admin/home.php");
exit;
break;
Nose muy bien lo que te devuelve idnivel si es un String o un Int, si es una cadena debes tener en cuenta que el switch es case-sensitive pero puedes utilizar por ejemplo strtolower() para convertir todo a minúsculas antes, y poner todos los caso en minúsculas también. Entiendo que idnivel contiene una cadena.
Código PHP:
switch (strtolower($_SESSION['idnivel'])) {//convertimos idnivel a minúsculas para comparar
case 'administrador': // cambiamos los case a minúsculas también
header("Location: admin/home.php");
exit;
break;