From 6fb2231ad1d157b39a1484b87f94d9400663b6ab Mon Sep 17 00:00:00 2001 From: massiveattacker <119751708+comatic0@users.noreply.github.com> Date: Tue, 20 Aug 2024 23:49:41 -0300 Subject: [PATCH] corrige problema de editar criar duas entradas --- includes/functions.php | 28 ++++++++++------------------ views/edit.php | 16 +++++++++++++--- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/includes/functions.php b/includes/functions.php index 7a213ea..d93b765 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -27,28 +27,20 @@ function addTable($pdo, $nome, $descricao, $nome_do_mestre, $numero_max_jogadore } } -function addTableForm($pdo) { - if ($_SERVER['REQUEST_METHOD'] === 'POST') { - $nome = $_POST['nome']; - $descricao = $_POST['descricao']; - $nome_do_mestre = $_POST['nome_do_mestre']; - $numero_max_jogadores = $_POST['numero_max_jogadores']; - $categoria = $_POST['categoria'] === 'Outro' ? $_POST['categoria_custom'] : $_POST['categoria']; - - addTable($pdo, $nome, $descricao, $nome_do_mestre, $numero_max_jogadores, $categoria); - - header('Location: index.php'); - exit(); - } -} - -addTableForm($pdo); - function updateTable($pdo, $id, $nome, $descricao, $nome_do_mestre, $numero_max_jogadores, $categoria) { try { $stmt = $pdo->prepare("UPDATE mesas SET nome = ?, descricao = ?, nome_do_mestre = ?, numero_max_jogadores = ?, categoria = ? WHERE id = ?"); - return $stmt->execute([$nome, $descricao, $nome_do_mestre, $numero_max_jogadores, $categoria, $id]); + $result = $stmt->execute([$nome, $descricao, $nome_do_mestre, $numero_max_jogadores, $categoria, $id]); + + if ($result) { + error_log("Table with ID $id updated successfully."); + } else { + error_log("Failed to update table with ID $id."); + } + + return $result; } catch (PDOException $e) { + error_log("PDOException: " . $e->getMessage()); return false; } } diff --git a/views/edit.php b/views/edit.php index 92683e7..d5063ea 100644 --- a/views/edit.php +++ b/views/edit.php @@ -11,16 +11,25 @@ $mesa = getTableById($pdo, $id); if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $id = $_POST['id']; + if (!is_numeric($id)) { + die('Invalid ID'); + } $nome = $_POST['nome']; $descricao = $_POST['descricao']; $nome_do_mestre = $_POST['nome_do_mestre']; $numero_max_jogadores = $_POST['numero_max_jogadores']; $categoria = $_POST['categoria'] === 'Outro' ? $_POST['categoria_custom'] : $_POST['categoria']; - updateTable($pdo, $id, $nome, $descricao, $nome_do_mestre, $numero_max_jogadores, $categoria); + $result = updateTable($pdo, $id, $nome, $descricao, $nome_do_mestre, $numero_max_jogadores, $categoria); - header('Location: index.php'); - exit(); + if ($result) { + header('Location: index.php'); + exit(); + } else { + error_log("Failed to update table with ID $id."); + echo "Failed to update table."; + } } ?> @@ -30,6 +39,7 @@
Página de edição de mesa. Formulários marcados com * são obrigatórios.