73 lines
2.6 KiB
PHP
73 lines
2.6 KiB
PHP
<?php
|
|
require_once 'db/config.php';
|
|
|
|
$success_message = '';
|
|
$error_message = '';
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
$agent_name = trim($_POST['agent_name'] ?? '');
|
|
$amount = trim($_POST['amount'] ?? '');
|
|
$description = trim($_POST['description'] ?? '');
|
|
|
|
if (empty($agent_name) || !is_numeric($amount) || $amount <= 0 || empty($description)) {
|
|
$error_message = 'Please fill in all fields with valid data. Amount must be a positive number.';
|
|
} else {
|
|
try {
|
|
$pdo = db();
|
|
$stmt = $pdo->prepare(
|
|
'INSERT INTO expense_reports (agent_name, amount, description, status) VALUES (?, ?, ?, ?)'
|
|
);
|
|
$stmt->execute([$agent_name, $amount, $description, 'Pending']);
|
|
$success_message = 'Expense report submitted successfully!';
|
|
} catch (PDOException $e) {
|
|
$error_message = 'Database error: Could not submit the report.';
|
|
}
|
|
}
|
|
}
|
|
|
|
$page_title = 'Submit Expense Report';
|
|
require_once 'includes/header.php';
|
|
?>
|
|
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-6">
|
|
<h1 class="mb-4">Submit New Expense Report</h1>
|
|
|
|
<?php if ($success_message): ?>
|
|
<div class="alert alert-success">
|
|
<?php echo htmlspecialchars($success_message); ?>
|
|
<div class="mt-4">
|
|
<a href="dashboard.php" class="btn btn-primary">Return to Dashboard</a>
|
|
</div>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if ($error_message): ?>
|
|
<div class="alert alert-danger">
|
|
<?php echo htmlspecialchars($error_message); ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if (!$success_message): ?>
|
|
<form action="submit_expense.php" method="POST">
|
|
<div class="mb-3">
|
|
<label for="agent_name" class="form-label">Agent Name</label>
|
|
<input type="text" id="agent_name" name="agent_name" class="form-control" required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="amount" class="form-label">Amount ($)</label>
|
|
<input type="number" id="amount" name="amount" step="0.01" min="0.01" class="form-control" required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="description" class="form-label">Description</label>
|
|
<textarea id="description" name="description" rows="4" class="form-control" required></textarea>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary">Submit Report</button>
|
|
</form>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
require_once 'includes/footer.php';
|
|
?>
|