To tentando fazer com que a função verifique o nível de acesso do usuário:
//logar
public function logar($cracha, $senha)
{
global $pdo;
//verificar se cracha e senha estao cadastrado, se sim
$sql = $pdo->prepare("SELECT id_usuario FROM usuarios WHERE cracha = :c AND senha = :s");
$sql->bindValue(":c",$cracha);
$sql->bindValue(":s",md5($senha));
$sql->execute();
$num = $sql-> rowCount();
if($num > 0){
//acessar e verificar o nivel de acesso do usuario
session_start();
$_SESSION['cracha'] = $_POST['cracha'];
$_SESSION['senha'] = $_POST['senha'];
$verificar = $conectar->query("SELECT * FROM usuarios");
while ($linha = $verificar->fetch(PDO::FETCH_ASSOC)){
if($linha['usuarios'] == $usuarios){
$nivel = $linha['nivel'];
switch ($nivel) {
case '0':
header("location: areaPrivada.php");
break;
case '1':
header("location: cadastrar.php");
break;
default:
echo "Usuario sem acesso";
break;
}
}
}
}
}