excluir.php — leitura técnica completa

sistema/painel/paginas/analises/excluir.php
Endpoint de exclusão da análise e da foto vinculada.

AnálisesEndpoint AJAX de exclusão33 linhas

Responsabilidade do arquivo

Endpoint de exclusão da análise e da foto vinculada.

Dependências observadas:
Conexão PDO / configurações globaisBanco de dados

Tipo

Endpoint AJAX de exclusão

Grupo

Análises

Total de linhas

33

Código completo

1<?php 2require_once("../../../conexao.php"); 3$tabela = 'analise_capilar'; 4 5$id = @$_POST['id']; 6 7if($id == ""){ 8 echo 'ID inválido'; 9 exit(); 10} 11 12$query = $pdo->prepare("SELECT * FROM $tabela WHERE id = :id"); 13$query->bindValue(":id", $id); 14$query->execute(); 15$res = $query->fetchAll(PDO::FETCH_ASSOC); 16 17if(@count($res) > 0){ 18 $foto = $res[0]['foto']; 19 20 if($foto != ""){ 21 $caminho_foto = "../../../images/analises/" . $foto; 22 if(file_exists($caminho_foto)){ 23 @unlink($caminho_foto); 24 } 25 } 26} 27 28$query = $pdo->prepare("DELETE FROM $tabela WHERE id = :id"); 29$query->bindValue(":id", $id); 30$query->execute(); 31 32echo 'Excluído com Sucesso'; 33?>

Leitura linha por linha

LinhaCódigoExplicação técnica
1<?php Abre um bloco PHP. A partir daqui o arquivo passa a executar lógica no servidor.
2require_once("../../../conexao.php");Importa `../../../conexao.php` para disponibilizar conexão, sessão, funções utilitárias ou validações necessárias ao restante do fluxo.
3$tabela = 'analise_capilar';Centraliza o nome da tabela `analise_capilar` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo.
4 Linha em branco usada para separar blocos e melhorar a leitura.
5$id = @$_POST['id'];Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina.
6 Linha em branco usada para separar blocos e melhorar a leitura.
7if($id == ""){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
8 echo 'ID inválido';Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela.
9 exit();Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida.
10}Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
11 Linha em branco usada para separar blocos e melhorar a leitura.
12$query = $pdo->prepare("SELECT * FROM $tabela WHERE id = :id");Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo.
13$query->bindValue(":id", $id);Associa um valor PHP a um parâmetro nomeado da query preparada.
14$query->execute();Executa a query preparada no banco de dados.
15$res = $query->fetchAll(PDO::FETCH_ASSOC);Lê o resultado retornado pelo banco e o converte para uma estrutura PHP que o restante do arquivo consegue consumir.
16 Linha em branco usada para separar blocos e melhorar a leitura.
17if(@count($res) > 0){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
18 $foto = $res[0]['foto'];Define a variável `$foto`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta.
19 Linha em branco usada para separar blocos e melhorar a leitura.
20 if($foto != ""){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
21 $caminho_foto = "../../../images/analises/" . $foto;Define `$caminho_foto` com um valor literal usado como configuração local do arquivo.
22 if(file_exists($caminho_foto)){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
23 @unlink($caminho_foto);Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida.
24 }Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
25 }Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
26}Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
27 Linha em branco usada para separar blocos e melhorar a leitura.
28$query = $pdo->prepare("DELETE FROM $tabela WHERE id = :id");Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo.
29$query->bindValue(":id", $id);Associa um valor PHP a um parâmetro nomeado da query preparada.
30$query->execute();Executa a query preparada no banco de dados.
31 Linha em branco usada para separar blocos e melhorar a leitura.
32echo 'Excluído com Sucesso';Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela.
33?>Fecha o bloco PHP atual para voltar à saída HTML.

Navegação entre arquivos do grupo