BLACKSITE
:
216.73.216.62
:
147.93.18.13 / vinyasaweddings.com
:
Linux srv667811 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64
:
/
var
/
www
/
vkraft
/
views
/
admin
/
Upload File:
files >> /var/www/vkraft/views/admin/client-add.php
<?php include 'views/admin/layout/header.php'; ?> <?php include 'views/admin/layout/Sidebar.php'; ?> <?php // Include DB connection require_once __DIR__ . '/../../db.php'; $success = false; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $title = $_POST['title'] ?? ''; $status = $_POST['status'] ?? 'inactive'; if (empty($title) || !isset($_FILES['image'])) { $error = "Title and image are required."; } else { $uploadDir = 'uploads/clients/'; if (!is_dir($uploadDir)) { mkdir($uploadDir, 0755, true); } $fileTmp = $_FILES['image']['tmp_name']; $fileName = time() . '_' . basename($_FILES['image']['name']); $targetFile = $uploadDir . $fileName; if (move_uploaded_file($fileTmp, $targetFile)) { $stmt = $db->prepare("INSERT INTO clients (title, image, status, created_at) VALUES (?, ?, ?, NOW())"); $stmt->execute([$title, $fileName, $status]); $success = true; echo "<script>location.href=window.location.href;</script>"; } else { $error = "Failed to upload image."; } } } ?> <main class="main-content"> <div class="container-fluid px-4"> <?php if (isset($error)) : ?> <div class="alert alert-danger fade-alert"><?php echo $error; ?></div> <?php elseif ($success): ?> <div class="alert alert-success fade-alert">Client uploaded successfully.</div> <?php endif; ?> <div class="d-flex justify-content-between align-items-center mb-4"> <h1 class="mb-0" style="color: var(--dark); font-weight: var(--font-weight-semibold);">Add Clients</h1> </div> <div class="card shadow-sm" style="border-color: var(--gray-dark); box-shadow: var(--shadow-sm); background: var(--light);"> <div class="card-body"> <form id="bannerForm" enctype="multipart/form-data" action="" method="POST"> <!-- Title Field --> <div class="mb-4"> <label for="bannerTitle" class="form-label" style="color: var(--dark); font-weight: var(--font-weight-medium);"> Title <span style="color: var(--error);">*</span> </label> <input type="text" class="form-control" id="bannerTitle" name="title" required style="border-color: var(--gray-dark); padding: var(--space-sm); color: var(--dark);"> </div> <!-- Image Upload --> <div class="mb-4"> <label for="bannerImage" class="form-label" style="color: var(--dark); font-weight: var(--font-weight-medium);"> Image <span style="color: var(--error);">*</span> </label> <input type="file" class="form-control" id="bannerImage" name="image" accept="image/*" required style="border-color: var(--gray-dark); padding: var(--space-sm);"> </div> <!-- Status Dropdown --> <div class="mb-4"> <label for="bannerStatus" class="form-label" style="color: var(--dark); font-weight: var(--font-weight-medium);">Status</label> <select class="form-select" id="bannerStatus" name="status" style="border-color: var(--gray-dark); padding: var(--space-sm); color: var(--dark);"> <option value="active" selected>Active</option> <option value="inactive">Inactive</option> </select> </div> <!-- Submit Button --> <div class="mt-4"> <button type="submit" class="btn btn-primary"> <i class="fas fa-upload me-2"></i> Upload Client </button> </div> </form> </div> </div> </div> </main> <script> // Auto-hide alert after 2 seconds setTimeout(function () { const alert = document.querySelector('.fade-alert'); if (alert) { alert.style.transition = "opacity 0.5s ease"; alert.style.opacity = 0; setTimeout(() => alert.remove(), 500); // remove after fade } }, 2000); </script> <?php include 'views/admin/layout/footer.php'; ?>