35330-vm/Backend/delete_expense.php
Flatlogic Bot 20046a4844 Versao 17
2025-10-29 17:18:21 +00:00

47 lines
1.3 KiB
PHP

<?php
require_once __DIR__ . '/db/config.php';
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
// Proteger a página: redirecionar para o login se não estiver logado
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
$expense_id = $_GET['id'] ?? null;
$user_id = $_SESSION['user_id'];
if (!$expense_id) {
// Se não houver ID, redireciona de volta
header('Location: expenses.php');
exit;
}
try {
$pdo = db();
// A cláusula WHERE garante que um usuário só pode deletar suas próprias despesas
$sql = "DELETE FROM expenses WHERE id = :id AND user_id = :user_id";
$stmt = $pdo->prepare($sql);
$stmt->execute([
'id' => $expense_id,
'user_id' => $user_id
]);
// Opcional: verificar se alguma linha foi afetada para dar um feedback mais preciso
if ($stmt->rowCount() > 0) {
$_SESSION['success_message'] = 'Despesa excluída com sucesso!';
} else {
$_SESSION['error_message'] = 'Não foi possível excluir a despesa. Ela não foi encontrada ou não pertence a você.';
}
} catch (PDOException $e) {
$_SESSION['error_message'] = 'Erro ao excluir a despesa: ' . $e->getMessage();
}
// Redirecionar de volta para a página de despesas
header('Location: expenses.php');
exit;