Aula 17: Criando a Funcionalidade de Exclusão de Tarefas (deleteTask())

Por: Nerd Toolkit Postado em: Outubro 21, 2024 Visto por: 414

1. Visão Geral da Exclusão de Tarefas

Para excluir uma tarefa, o fluxo básico será:

  1. O usuário clica em um botão ou link para excluir a tarefa.
  2. O sistema pede uma confirmação (opcional).
  3. A tarefa é excluída do banco de dados com base no seu ID.

2. Criando o Método deleteTask()

No arquivo Task.php, vamos adicionar o método deleteTask(), responsável por remover uma tarefa com base no ID fornecido

public function deleteTask() {
    $query = "DELETE FROM " . $this->table_name . " WHERE id = ?";
    $stmt = $this->conn->prepare($query);
    $stmt->bind_param("i", $this->id);
    return $stmt->execute();
}
  • O método deleteTask() prepara e executa uma consulta DELETE no banco de dados usando o ID da tarefa como condição.
  • Usamos bind_param() para associar o ID ao placeholder na consulta, protegendo contra SQL Injection.

3. Implementando a Exclusão de Tarefas

Na página de exibição de tarefas (tasks.php), vamos adicionar um link "Excluir" ao lado de cada tarefa. Esse link vai redirecionar para a página que processa a exclusão.

<a href="delete_task.php?id=<?php echo $row['id']; ?>" class="btn btn-danger btn-sm">Excluir</a>

4. Criando o Arquivo delete_task.php

O arquivo delete_task.php será responsável por processar a exclusão de tarefas. Ele vai receber o ID da tarefa via GET, chamar o método deleteTask() e redirecionar o usuário de volta à lista de tarefas.

<?php
require_once 'classes/Database.php';
require_once 'classes/Task.php';
$database = new Database();
$db = $database->getConnection();
$task = new Task($db);
// Verifica se o ID foi passado via GET
if (isset($_GET['id'])) {
    $task->id = $_GET['id'];
    // Exclui a tarefa
    if ($task->deleteTask()) {
        echo "Tarefa excluída com sucesso!";
    } else {
        echo "Erro ao excluir a tarefa.";
    }
    // Redireciona de volta à página de tarefas
    header("Location: tasks.php");
}

5. Testando a Funcionalidade de Exclusão

Para testar:

  1. Acesse a lista de tarefas e veja o link "Excluir" ao lado de cada tarefa.
  2. Clique no link "Excluir" e veja se a tarefa é removida da lista e do banco de dados.
  3. Se desejar, adicione uma mensagem de confirmação antes de excluir a tarefa para evitar exclusões acidentais.

6. Segurança na Exclusão

Aqui estão algumas práticas de segurança para implementar a exclusão de tarefas:

  • SQL Injection: Usamos prepare() e bind_param() para evitar SQL Injection.
  • Confirmação de Exclusão: Para evitar exclusões acidentais, você pode implementar uma janela de confirmação antes de a tarefa ser realmente excluída.

Exemplo de confirmação via JavaScript:

<a href="delete_task.php?id=<?php echo $row['id']; ?>" class="btn btn-danger btn-sm" onclick="return confirm('Tem certeza que deseja excluir esta tarefa?')">Excluir</a>

7. Exercício Prático

Adicione um sistema de confirmação de exclusão e, se o tempo permitir, implemente um sistema de arquivamento de tarefas. Em vez de excluir, o sistema arquivaria a tarefa para que pudesse ser recuperada mais tarde.


8. Próximos Passos

Na próxima aula, continuaremos aperfeiçoando o sistema de gerenciamento de tarefas com mais funcionalidades. Agora que temos o CRUD básico (Create, Read, Update, Delete) completo, vamos trabalhar em detalhes adicionais.

Tags:
#excluir tarefa PHP  # deleteTask PHP  # PHP OOP CRUD  # remover tarefa MySQL  # gerenciamento de tarefas PHP  # exclusão de dados MySQL PHP  # PHP e MySQL 

Notícias Relacionadas

Aula 17: Criando a Funcionalidade de Exclusão de Tarefas (deleteTask())
  Contato
  • support@nerdtoolkit.com.br
Mapa do Site
Mostrar mapa do site
  Sobre

Feito de programadores para programadores.

Este site utiliza cookies. Ao continuar a utilizar este site, você concorda com a nossa utilização de cookies e política de privacidade.
Leia mais Concordo