diff --git a/html/saude/cadastro_ficha_medica.php b/html/saude/cadastro_ficha_medica.php index 82af64ad..095f0538 100644 --- a/html/saude/cadastro_ficha_medica.php +++ b/html/saude/cadastro_ficha_medica.php @@ -1,22 +1,22 @@ prepare("SELECT id_cargo FROM funcionario WHERE id_pessoa = :id_pessoa"); +$stmt->bindParam(':id_pessoa', $id_pessoa, PDO::PARAM_INT); +$stmt->execute(); + +$id_cargo = $stmt->fetchColumn(); + +if ($id_cargo !== false) { + // Usando prepared statements para a segunda consulta + $stmt = $pdo->prepare(" + SELECT p.id_acao + FROM permissao p + JOIN acao a ON p.id_acao = a.id_acao + JOIN recurso r ON p.id_recurso = r.id_recurso + WHERE p.id_cargo = :id_cargo AND r.id_recurso = '51' + "); + $stmt->bindParam(':id_cargo', $id_cargo, PDO::PARAM_INT); + $stmt->execute(); + + $permissao = $stmt->fetchColumn(); + + if ($permissao === false || $permissao < 7) { + $msg = "Você não tem as permissões necessárias para essa página."; + header("Location: ../home.php?msg_c=" . urlencode($msg)); + exit(); } - $resultado = mysqli_query($conexao, "SELECT * FROM permissao p JOIN acao a ON(p.id_acao=a.id_acao) JOIN recurso r ON(p.id_recurso=r.id_recurso) WHERE id_cargo=$id_cargo AND r.id_recurso='51'"); - if(!is_bool($resultado) and mysqli_num_rows($resultado)){ - $permissao = mysqli_fetch_array($resultado); - if($permissao['id_acao'] < 7){ +} else { $msg = "Você não tem as permissões necessárias para essa página."; - header("Location: ../home.php?msg_c=$msg"); - } - $permissao = $permissao['id_acao']; - }else{ - $permissao = 1; - $msg = "Você não tem as permissões necessárias para essa página."; - header("Location: ../home.php?msg_c=$msg"); - } -}else{ - $permissao = 1; -$msg = "Você não tem as permissões necessárias para essa página."; -header("Location: ../home.php?msg_c=$msg"); -} + header("Location: ../home.php?msg_c=" . urlencode($msg)); + exit(); +} + // caso paciente ser atendido //