excluir.php — leitura técnica completa

sistema/painel/paginas/simulador/excluir.php
Endpoint para remover a simulação e os arquivos de imagem relacionados.

SimuladorEndpoint AJAX de exclusão46 linhas

Responsabilidade do arquivo

Endpoint para remover a simulação e os arquivos de imagem relacionados.

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

Tipo

Endpoint AJAX de exclusão

Grupo

Simulador

Total de linhas

46

Código completo

1<?php 2require_once("../../../conexao.php"); 3 4$tabela = 'simulacoes_protese'; 5$pasta_upload = __DIR__ . '/../../images/simulacoes/'; 6 7$id = @$_POST['id']; 8 9if($id == ""){ 10 echo 'ID não informado'; 11 exit(); 12} 13 14$query = $pdo->prepare("SELECT * FROM $tabela WHERE id = :id"); 15$query->bindValue(":id", $id); 16$query->execute(); 17$res = $query->fetchAll(PDO::FETCH_ASSOC); 18 19if(@count($res) == 0){ 20 echo 'Registro não encontrado'; 21 exit(); 22} 23 24$foto_original = $res[0]['foto_original']; 25$imagem_simulada = $res[0]['imagem_simulada']; 26 27if($foto_original != ""){ 28 $caminho_foto_original = $pasta_upload . $foto_original; 29 if(file_exists($caminho_foto_original)){ 30 @unlink($caminho_foto_original); 31 } 32} 33 34if($imagem_simulada != ""){ 35 $caminho_imagem_simulada = $pasta_upload . $imagem_simulada; 36 if(file_exists($caminho_imagem_simulada)){ 37 @unlink($caminho_imagem_simulada); 38 } 39} 40 41$query = $pdo->prepare("DELETE FROM $tabela WHERE id = :id"); 42$query->bindValue(":id", $id); 43$query->execute(); 44 45echo 'Excluído com Sucesso'; 46?>

Leitura linha por linha

LinhaCódigoExplicação técnica
1<?phpAbre 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 Linha em branco usada para separar blocos e melhorar a leitura.
4$tabela = 'simulacoes_protese';Centraliza o nome da tabela `simulacoes_protese` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo.
5$pasta_upload = __DIR__ . '/../../images/simulacoes/';Define a variável `$pasta_upload`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta.
6 Linha em branco usada para separar blocos e melhorar a leitura.
7$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.
8 Linha em branco usada para separar blocos e melhorar a leitura.
9if($id == ""){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
10 echo 'ID não informado';Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela.
11 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.
12}Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
13 Linha em branco usada para separar blocos e melhorar a leitura.
14$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.
15$query->bindValue(":id", $id);Associa um valor PHP a um parâmetro nomeado da query preparada.
16$query->execute();Executa a query preparada no banco de dados.
17$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.
18 Linha em branco usada para separar blocos e melhorar a leitura.
19if(@count($res) == 0){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
20 echo 'Registro não encontrado';Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela.
21 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.
22}Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
23 Linha em branco usada para separar blocos e melhorar a leitura.
24$foto_original = $res[0]['foto_original'];Define a variável `$foto_original`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta.
25$imagem_simulada = $res[0]['imagem_simulada'];Define a variável `$imagem_simulada`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta.
26 Linha em branco usada para separar blocos e melhorar a leitura.
27if($foto_original != ""){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
28 $caminho_foto_original = $pasta_upload . $foto_original;Define a variável `$caminho_foto_original`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta.
29 if(file_exists($caminho_foto_original)){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
30 @unlink($caminho_foto_original);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.
31 }Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
32}Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
33 Linha em branco usada para separar blocos e melhorar a leitura.
34if($imagem_simulada != ""){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
35 $caminho_imagem_simulada = $pasta_upload . $imagem_simulada;Define a variável `$caminho_imagem_simulada`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta.
36 if(file_exists($caminho_imagem_simulada)){Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos.
37 @unlink($caminho_imagem_simulada);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.
38 }Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
39}Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle.
40 Linha em branco usada para separar blocos e melhorar a leitura.
41$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.
42$query->bindValue(":id", $id);Associa um valor PHP a um parâmetro nomeado da query preparada.
43$query->execute();Executa a query preparada no banco de dados.
44 Linha em branco usada para separar blocos e melhorar a leitura.
45echo '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.
46?>Fecha o bloco PHP atual para voltar à saída HTML.

Navegação entre arquivos do grupo