Aula 12: Implementando o Método createTask() para Adicionar Novas Tarefas

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

1. Revisando a Classe Task

Na aula anterior, criamos a estrutura da classe Task e começamos a trabalhar com o CRUD. Agora, vamos adicionar um método específico para criar tarefas.

Passo 1: Implementando o Método createTask()

O método createTask() será uma função dentro da classe Task que vai lidar diretamente com a inserção de novas tarefas no banco de dados.


2. Adicionando o Método createTask() na Classe Task

Abra o arquivo Task.php e adicione o seguinte método à classe Task:

public function createTask() {
   // Query para inserir uma nova tarefa
   $query = "INSERT INTO " . $this->table_name . " (name, description, status) VALUES (?, ?, ?)";
   // Preparar a consulta SQL
   $stmt = $this->conn->prepare($query);
   // Limpar os dados
   $this->name = htmlspecialchars(strip_tags($this->name));
   $this->description = htmlspecialchars(strip_tags($this->description));
   $this->status = htmlspecialchars(strip_tags($this->status));
   // Associar os parâmetros
   $stmt->bind_param("sss", $this->name, $this->description, $this->status);
   // Executar a consulta
   if ($stmt->execute()) {
       return true;
   } else {
       return false;
   }
}

3. Explicação do Método

  • Query de Inserção: A query SQL usada para inserir dados na tabela tasks.
  • Sanitização de Dados: Utilizamos htmlspecialchars() e strip_tags() para limpar os dados antes de inseri-los no banco de dados, ajudando a prevenir ataques de XSS.
  • Bind de Parâmetros: Usamos o método bind_param() para associar os valores das variáveis name, description e status aos respectivos campos da tabela.

4. Atualizando o Formulário para Adicionar Novas Tarefas

Agora, vamos modificar o arquivo tasks.php para utilizar o método createTask() quando o formulário for enviado.

<?php
require_once 'classes/Database.php';
require_once 'classes/Task.php';
$database = new Database();
$db = $database->getConnection();
$task = new Task($db);
// Processando o envio do formulário para criar nova tarefa
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['create'])) {
   $task->name = $_POST['name'];
   $task->description = $_POST['description'];
   $task->status = $_POST['status'];
   if ($task->createTask()) {
       echo "Tarefa criada com sucesso!";
   } else {
       echo "Erro ao criar tarefa.";
   }
}
// Obtendo todas as tarefas
$tarefas = $task->read();
?>

5. Testando o Método createTask()

Para testar a criação de tarefas:

  1. Acesse o formulário de tarefas no navegador.
  2. Insira os dados da tarefa.
  3. Verifique se a tarefa foi corretamente adicionada ao banco de dados e exibida na lista de tarefas.

6. Melhorando a Usabilidade

Adicione uma validação simples no formulário HTML para garantir que todos os campos sejam preenchidos antes do envio.

<form method="post">
   <div class="form-group">
       <label for="name">Nome da Tarefa</label>
       <input type="text" name="name" class="form-control" required>
   </div>
   <div class="form-group">
       <label for="description">Descrição</label>
       <textarea name="description" class="form-control" required></textarea>
   </div>
   <div class="form-group">
       <label for="status">Status</label>
       <input type="text" name="status" class="form-control" required>
   </div>
   <button type="submit" name="create" class="btn btn-primary">Criar Tarefa</button>
</form>

7. Exercício Prático

  • Tente adicionar várias tarefas e verifique se todas são listadas corretamente.
  • Experimente inserir uma tarefa sem preencher um campo obrigatório e veja como o sistema reage.

8. Próximos Passos

Na próxima aula, vamos expandir as funcionalidades para permitir que o usuário atualize e exclua tarefas, completando assim o ciclo de CRUD com a interface gráfica.

Tags:
#criar tarefa PHP  # método createTask PHP  # PHP OOP criar tarefa  # MySQL CRUD PHP  # PHP MySQL tarefas  # adicionar tarefa PHP  # sistema de tarefas PHP. 

Notícias Relacionadas

Aula 12: Implementando o Método createTask() para Adicionar Novas Tarefas
  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