1800)) { header("Location: logout.php"); exit(); } $_SESSION['last_activity'] = time(); require_once 'db_connection.php'; $pageTitle = "Payments"; if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['add_payment'])) { try { $stmt = $conn->prepare("INSERT INTO payments (date, buyer_id, amount_paid, balance) VALUES (?, ?, ?, 0)"); $stmt->bind_param("sid", $_POST['date'], $_POST['buyer_id'], $_POST['amount_paid']); $stmt->execute(); $stmt->close(); $_SESSION['success'] = "Payment added successfully!"; header("Location: payments.php"); exit(); } catch (Exception $e) { $_SESSION['error'] = "Error adding payment."; error_log("Payments error: " . $e->getMessage()); } } $buyersQuery = "SELECT id, name FROM buyers ORDER BY name"; $buyers = $conn->query($buyersQuery)->fetch_all(MYSQLI_ASSOC); $paymentsQuery = "SELECT p.*, b.name as buyer_name FROM payments p JOIN buyers b ON p.buyer_id = b.id ORDER BY p.date DESC"; $payments = $conn->query($paymentsQuery)->fetch_all(MYSQLI_ASSOC); $buyerOptions = ''; foreach ($buyers as $buyer) { $buyerOptions .= ""; } $paymentRows = ''; foreach ($payments as $payment) { $paymentRows .= " {$payment['date']} {$payment['buyer_name']} ₹" . number_format($payment['amount_paid'], 2) . "
"; } $content = <<

Add New Payment

Payments List

Export CSV
$paymentRows
Date Buyer Amount Paid Actions
HTML; include 'main_layout.php'; $conn->close(); ?>