Deberías guardar el tipo de usuario en una variable de sesión, en tu código veo $_SESSION['admin'] pero esto no funciona, ya que solo valida si es administrador o no (claro, según la lógica que puedo ver en tu código, mas no se realmente el valor de dicha variable), lo mejor seria algo así...
Código PHP:
Ver original<?php //inicio del archivo
if (isset($_SESSION['userType']) && $_SESSION['userType'] == 'admin' && $_SESSION['userType'] == 'coor') {
echo 'Usuario valido';
}else {
echo 'Usuario invalido!';
}
O mejor aun, podrías crear una función que valide los datos, solo le pasas el tipo de usuario que quieres que tenga acceso...
Código PHP:
Ver original<?php
function validarUsuario($usuarios) {
$isValid = false;
if (isset($_SESSION['userType']) && $_SESSION['userType'] == $usuarios) { $isValid = true;
}
}else {
if (isset($_SESSION['userType'])) { foreach($usuarios as $user) {
if ($_SESSION['userType'] == $user) {
$isValid = true;
}
}
}
}
return $isValid;
}
/* Hay dos formas de usar la funcion anterior,
* una de ellas es pasar solo un usuario como
* un string: validarUsuario('admin'), la otra
* es pasarle un array con los usuarios validos:
*
* $usuarios = array('admin','coor','otro');
* validarUsuario($usuarios);
*
* En la variable $usuarios puedes agregar tantos
* usuarios quieras que tengan acceso al código
* dentro del if...
*/
$usuarios = array('admin','coor');
if (validarUsuario($usuarios)) {
echo 'Usuario valido!';
}else {
//Aquí puedes mostrar un error o reedireccionar
//mostrar error...
echo 'Usuario invalido o no inicio sesión!';
//redireccionar!
header('location: error.php'); //OJO, no debes hacer ningun echo o tener salida
//algúna (codigo HTML etc) antes del header!
}
Nota: se me olvidaba, puedes también usar la función para bloquear el acceso a partes del código dentro del archivo siguiendo la lógica que te mostré en el ejemplo!